[ https://issues.apache.org/jira/browse/CAY-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nikita Timofeev reassigned CAY-2841: ------------------------------------ Assignee: Nikita Timofeev > Multi column ColumnSelect with SHARED_CACHE fails after 1st select > ------------------------------------------------------------------ > > Key: CAY-2841 > URL: https://issues.apache.org/jira/browse/CAY-2841 > Project: Cayenne > Issue Type: Bug > Affects Versions: 4.2 > Reporter: Jurgen Doll > Assignee: Nikita Timofeev > Priority: Minor > Fix For: 4.2.1, 5.0-M1 > > > Adding the following test case to > {color:#000000}{color:#000000}ColumnSelectIT{color}{color} shows the problem: > > {color:#000000} {color}{color:#646464}@{color}{color:#000000}Test{color} > {color:#000000} {color}{color:#7f0055}public{color}{color:#000000} > {color}{color:#7f0055}void{color}{color:#000000} testSharedCache() > {color}{color:#7f0055}throws{color}{color:#000000} Exception {{color} > {color:#000000} ColumnSelect colQry = ObjectSelect.query( > Artist.{color}{color:#7f0055}class{color}{color:#000000} ){color} > {color:#000000} .columns( Artist.ARTIST_NAME, Artist.DATE_OF_BIRTH ){color} > {color:#000000} .cacheStrategy( QueryCacheStrategy.SHARED_CACHE );{color} > {color:#000000} {color} > {color:#000000} List<Object[]> result = colQry.select(context);{color} > {color:#000000} assertEquals(20, result.size());{color} > > {color:#000000} {color}{color:#3f7f5f}// Next line fails with > UnsupportedOperationException{color} > {color:#000000} List<Object[]> result2 = colQry.select(context);{color} > {color:#000000} assertEquals(20, result.size());{color} > {color:#000000} }{color} > > Stacktrace: > > {color:#ff0000}Exception in thread "JavaFX Application Thread" > {color}{color:#0066cc}java.lang.UnsupportedOperationException{color} > {color:#ff0000} at > java.base/java.util.Collections$UnmodifiableCollection.removeIf({color}{color:#0066cc}Collections.java:1120{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataDomainQueryAction$MixedConversionStrategy.convert({color}{color:#0066cc}DataDomainQueryAction.java:818{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataDomainQueryAction.interceptObjectConversion({color}{color:#0066cc}DataDomainQueryAction.java:507{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataDomainQueryAction.execute({color}{color:#0066cc}DataDomainQueryAction.java:135{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataDomain.onQueryNoFilters({color}{color:#0066cc}DataDomain.java:570{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery({color}{color:#0066cc}DataDomain.java:819{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataDomain.onQuery({color}{color:#0066cc}DataDomain.java:562{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.util.ObjectContextQueryAction.runQuery({color}{color:#0066cc}ObjectContextQueryAction.java:406{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.util.ObjectContextQueryAction.executePostCache({color}{color:#0066cc}ObjectContextQueryAction.java:107{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.util.ObjectContextQueryAction.execute({color}{color:#0066cc}ObjectContextQueryAction.java:94{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataContext.onQuery({color}{color:#0066cc}DataContext.java:960{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.access.DataContext.performQuery({color}{color:#0066cc}DataContext.java:949{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.BaseContext.select({color}{color:#0066cc}BaseContext.java:307{color}{color:#ff0000}){color} > {color:#ff0000} at > org.apache.cayenne.query.FluentSelect.select({color}{color:#0066cc}FluentSelect.java:160{color}{color:#ff0000}){color} > > Workaround: Add > {color:#000000}{color:#000000}.suppressDistinct(){color}{color} to the query. -- This message was sent by Atlassian Jira (v8.20.10#820010)