Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0040432
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Retail Modules] StoreServerminorhave not tried2019-03-21 16:032019-03-22 09:38
ReporterAugustoMauchView Statuspublic 
Assigned ToAugustoMauch 
PrioritynormalResolutionopenFixed in Version
StatusnewFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0040432: OBMOBC_SERVER_DEFINITION.delta_age means two different things, it can be improved

DescriptionThe delta_age column of the OBMOBC_SERVER_DEFINITION table will be null for a given store server if:
1- The store server has not received any ping yet from the central server, or
2- It received a ping, but there were no batches pending to be sent from that store server.

This double meaning makes difficult to decide if the delta age is expired when it is null. In case #1 it makes sense to assume it is expired, while in case #2 it is not expired.

It would be better if the central server includes as max_age the current time when there are no batches pending to be sent to the store server, instead of including null.
Steps To Reproduce-
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0110568)
mtaal (manager)
2019-03-22 09:38

I don't agree that it has a double meaning.. There is another field in the same table: lastping. This already covers the first mentioned meaning. If this field is null then no ping has yet been received.

But the other message of this issue (do not go offline when no ping yet received) makes for sure sense. Using the existing lastping field this means:
- do not allow going offline when lastping==null

Then also another change is needed. As the current delta age is too pessimistic. For example the following flow would not be allowed to go offline:
- cs/internet goes down at 8 am, lastping is from 8 am and at that time there was data to sync which was 1 second old
- the stores start working around 10 am but as cs is not there it wants to offline
- but offline is not possible as the delta age is 7:59:59 am. In this case the store could have started working as the store was only 1 second behind at the time the internet went down. That's perfectly fine.

So instead of comparing delta-age with the current datetime [1], compare it with lastping. Meaning that delta age signals how much the ss was behind in syncing batches at the time the last ping was received.
Cause this is really what it should check.

Another change which is probably better to not make the system too negative, also to only check the store data channel [2].

[1]
https://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/file/tip/src/org/openbravo/mobile/core/servercontroller/MobileServerUtils.java#l110 [^]

[2]
https://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/file/tip/src/org/openbravo/mobile/core/servercontroller/ServerStateBackground.java#l541 [^]

- Issue History
Date Modified Username Field Change
2019-03-21 16:03 AugustoMauch New Issue
2019-03-21 16:03 AugustoMauch Assigned To => AugustoMauch
2019-03-21 16:03 AugustoMauch Triggers an Emergency Pack => No
2019-03-22 09:38 mtaal Note Added: 0110568


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker