[ 
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

Reply via email to