[ 
https://issues.apache.org/jira/browse/CAY-2896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Timofeev reassigned CAY-2896:
------------------------------------

    Assignee: Nikita Timofeev

> Inserting two identical objects into two datamaps stores both objects in the 
> last used datamap
> ----------------------------------------------------------------------------------------------
>
>                 Key: CAY-2896
>                 URL: https://issues.apache.org/jira/browse/CAY-2896
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Core Library
>    Affects Versions: 4.2, 4.2.1, 4.2.2, 5.0-M1
>            Reporter: Christopher Thonfeld-Guckes
>            Assignee: Nikita Timofeev
>            Priority: Major
>              Labels: newbie, patch, pull-request-available
>             Fix For: 4.2.3, 5.0-M2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> After upgrading from 4.1.1 to 4.2 we've noticed a regression. We have two 
> identical tables in two separate databases. Our integration test tries 
> storing one object in each table like so:
> {code:java}
> createObject in DbContext1
> createObject in DbContext2
> flush{code}
> In all versions before 4.2 this worked fine. Internally the entities have 
> different names (CommonLog and PluginLog), but they're the same Java class 
> and the table names are the same in both databases.
> From version 4.2 on Cayenne started batching those requests which resulted in 
> both entities being written to the PluginLog table. We've tried different 
> orders of execution, the last table always wins. If we flush in between the 
> create tasks, it works as before.
> We found an issue in the *DbRowOp classes, that lead to this behaviour. The 
> isSameBatch functions don't check for different datamaps, when batching up 
> insert, update and delete statements.
> I've created a PR for it which I will link after creating this ticket. I do 
> need some feedback, whether that's actually enough to fix the issue.
> https://github.com/apache/cayenne/pull/630



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to