[
https://issues.apache.org/jira/browse/OPENJPA-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pinaki Poddar updated OPENJPA-2364:
-----------------------------------
Assignee: Pinaki Poddar
> Slices: Bulk JPQL Deletes/Updates ignoring Target plugins and query hints.
> --------------------------------------------------------------------------
>
> Key: OPENJPA-2364
> URL: https://issues.apache.org/jira/browse/OPENJPA-2364
> Project: OpenJPA
> Issue Type: Bug
> Components: slice
> Affects Versions: 2.2.1
> Reporter: Alan Roche
> Assignee: Pinaki Poddar
> Priority: Critical
>
> I think there is a bug in OpenJPA Slices for Bulk Update Queries (At least
> for Bulk Delete Statements).
> So, if doing a bulk JPQL delete (E.G. "delete from Entity e where e.id in
> :ids"), - all slices are hit with the query regardless of Policy plugins and
> Query hints set to target just one slice.
> I have implemented DistributionPolicy, FinderTargetPolicy and
> QueryTargetPolicy as well as setting the "openjpa.hint.slice.Target" hint on
> the query and EntityManager.
> All slices are hit regardless of the above when we need to just target 1
> Slice. This causes big problems for us, as some tables do not exist in all
> slices and queries fail.
> Reproducing this is easy:
> 1/ Set up 2 slices
> 2/ Create table "Person" in slice A but NOT in slice B
> 3/ Register simple DistributionPolicy, FinderTargetPolicy and
> QueryTargetPolicy plugins with OpenJPA Slices, - all hard-coded to only
> return slice A.
> 4/ Execute JPQL delete "Delete from Person p where p.id = :id" with query
> hint to slice A
> 5/ See that the delete update query is executed against all slices not just
> slice A as required by target plugins and query hint
> 6/ Query fails against slice B because table does not exist in slice B.
> We have set query hints etc. - but returning slice A in QueryTargetPolicy
> should be enough
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira