There seems to be a bug in OrderTracking.GetOrder(spec, readonly) - when you call this method and it fails for some reason such as a business rules error, then it will not return an order, but it will leave the lock on the order. It should not leave a lock on the order if it was not returned successfully.
To replicate, simply force a business rules loading error (delete business rules folders) and then call this API method. You can then check the locks screen in Select Admin and see that the order has been locked.
OrderTracking.GetOrder and Locks Bug
Moderator: Phil Barton
-
- Posts: 91
- Joined: Wed Sep 10, 2008 3:33 pm
- Location: Raleigh, NC
- Contact:
Re: OrderTracking.GetOrder and Locks Bug
Jake,
We'll try to repro internally (thanks for the easy steps!) and get this logged for a service pack.
Thanks,
Melissa
We'll try to repro internally (thanks for the easy steps!) and get this logged for a service pack.
Thanks,
Melissa
Melissa McBerkowitz
VP of Product Strategy, SoftPro
VP of Product Strategy, SoftPro
Re: OrderTracking.GetOrder and Locks Bug
Order locks are tied to the client session that created the lock. Session information is cleaned up after 15 minutes if no keep-alive signal is received from the client. In the event of a crash, which is currently the result of errors during the loading of business rules, the Select client is unable to remove the lock itself and must rely on the session clean-up done by the Select server. This is simply the current design. Architectural changes to the business rules engine that are currently in development will address these types of issues.