The VersionID mismatch described in the BUG ID1477398
also happens to the Newly Created, saved but
uncommitted entities.
########### -- My comments in the log
IHIGH 11:46:22.025 [main] proxy.POOrder:
updateAveragePrice(2000, 508) OrderId =0-1v-sn was 0@0
now 2000@508.0000
IHIGH 11:46:22.025 [main] proxy.POOrder: >>>>>>>>>
BEFORE updateAveragePrice saveChanges() version=1
########### e_trade object is created here
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
About to execute SQL statement: INSERT INTO e_trade
(recordid,versionid,state,a_trade_date,a_traded_quantity,a_transact_time,a_symbol,a_price,a_side,a_inverse_side,a_reported_to_client,a_created_timestamp,a_last_modified_timestamp,r_order)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?);
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 1 value: 0-13-ro
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 2 value: 1
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 3 value: Active
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 4 value: 24/05/2006
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 5 value: 2000
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 6 value: 24/05/2006 11:46:21
DEBUG 11:46:22.040 [main] oracleimpl.PSMarketTradeImpl:
Parameter 7 value: XDDD
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 8 value: 508
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 9 value: Buy
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 10 value: false
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 11 value: false
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 12 value: 24/05/2006 11:46:21
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 13 value: 24/05/2006 11:46:21
DEBUG 11:46:22.056 [main] oracleimpl.PSMarketTradeImpl:
Parameter 14 value: 0-1v-sn
########### e_trade is saved and version moves to 2
IHIGH 11:46:22.181 [main] proxy.POOrder: >>>>>>>>>
AFTER updateAveragePrice saveChanges() version=2
IHIGH 11:46:22.181 [main] proxy.POOrder:
updateOnHandAveragePrice(2000, 508) OrderId =0-1v-sn
was @ now 2000@508.0000
IHIGH 11:46:22.181 [main] proxy.POOrder: >>>>>>>>>
BEFORE updateOnHandAveragePrice saveChanges() version=2
########### no changes are made to the e_trade object
but the version is incremented here on saveChanges
########### This is where the bug is
IHIGH 11:46:22.196 [main] proxy.POOrder: >>>>>>>>>
AFTER updateOnHandAveragePrice saveChanges() version=3
IHIGH 11:46:22.196 [main] direct.PODirectOrderFill:
>>>>>>>>> BEFORE pBOTrade.setReportedToClient() version=3
IHIGH 11:46:22.196 [main] direct.PODirectOrderFill:
>>>>>>>>> AFTER pBOTrade.setReportedToClient() version=3
DEBUG 11:46:22.196 [main] oracleimpl.PSMarketTradeImpl:
About to execute SQL statement: UPDATE e_trade SET
versionid = ?, a_reported_to_client = ?,
a_last_modified_timestamp = ? WHERE recordid = ? AND
versionid = ?;
DEBUG 11:46:22.196 [main] oracleimpl.PSMarketTradeImpl:
Parameter 1 value: 3
DEBUG 11:46:22.196 [main] oracleimpl.PSMarketTradeImpl:
Parameter 2 value: true
DEBUG 11:46:22.196 [main] oracleimpl.PSMarketTradeImpl:
Parameter 3 value: 24/05/2006 11:46:22
DEBUG 11:46:22.196 [main] oracleimpl.PSMarketTradeImpl:
Parameter 4 value: 0-13-ro
DEBUG 11:46:22.196 [main] oracleimpl.PSMarketTradeImpl:
Parameter 5 value: 2
########### Error occurs here because of the version
mismatch
WARN 11:46:22.196 [main]
executionreport.ExecutionReportProcessFill: 8 * Fill *
1148435181400testScenario-2 * GTR~~Ho~~1>
BOSuperceededVersionException while processing fill:
The entity record has been modified by third party and
can not be updated.
Caused by exception :
com.metaboss.enterprise.ps.PSUpdateDataIntegrityViolationException:
Unable to update Trade record with Instance Id 0-13-ro
com.metaboss.enterprise.bo.BOSuperceededVersionException:
The entity record has been modified by third party and
can not be updated.
Caused by exception :
com.metaboss.enterprise.ps.PSUpdateDataIntegrityViolationException:
Unable to update Trade record with Instance Id 0-13-ro
at
com.jbwere.orderworkflowmgmt.domains.orders.impl.BOMarketTradeImpl.persistUpdate(BOMarketTradeImpl.java:901)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
com.metaboss.enterprise.bo.impl.BOObjectDomainImpl.saveChanges(Unknown
Source)
Logged In: YES
user_id=883678
Hello !
This message is to notify you that someone from MetaBoss team
have had a look at your bug report, it was accepted and is
now awaiting the resolution. This means that someone from the
MetaBoss team will have a closer look at it and formulate a
response to you (most likely within 48 hours).
Please note that in addition to the Sourceforge support facilities
we maintain a FAQ and Forum at www.metaboss.com. If you have
not already done so, we suggest that you visit our site and search
for possible workarounds.
Please also note that all MetaBoss users are free to use any
support channel they like, however, in order to enjoy VIP Support,
MetaBoss Commercial License Holders must submit their questions
to the Forum at www.metaboss.com.
Thank you for your contribution to MetaBoss
MetaBoss team
Logged In: YES
user_id=883678
The bug reported in this message has been fixed and
will be available in the next release.
Thank you for your contribution to MetaBoss
MetaBoss team