Biju Kunjummen created GEODE-5290:
-------------------------------------

             Summary: Use of ResultsCollectionPdxDeserializerWrapper iterator 
results in NPE
                 Key: GEODE-5290
                 URL: https://issues.apache.org/jira/browse/GEODE-5290
             Project: Geode
          Issue Type: Bug
          Components: querying
            Reporter: Biju Kunjummen
             Fix For: 1.7.0


Use of default constructor of ResultsCollectionPdxDeserializerWrapper and 
getting an iterator from it results in NPE:

{{SelectResults<Struct> sr1 = new ResultsCollectionPdxDeserializerWrapper();}}
{{sr1.asList();}}

 

Results in :

 

{{java.lang.NullPointerException}}
{{at 
org.apache.geode.cache.query.internal.ResultsCollectionPdxDeserializerWrapper.iterator(ResultsCollectionPdxDeserializerWrapper.java:52)}}
{{at 
org.apache.geode.cache.query.internal.ResultsCollectionPdxDeserializerWrapper.toArray(ResultsCollectionPdxDeserializerWrapper.java:174)}}
{{at java.util.ArrayList.<init>(ArrayList.java:178)}}
{{at 
org.apache.geode.cache.query.internal.ResultsCollectionPdxDeserializerWrapper.asList(ResultsCollectionPdxDeserializerWrapper.java:208)}}

 

Additionally, user reported exception with a code along these lines:

 

{{When a query with `SUM` aggregate is called:}}

{{select sum(totalHoldingsValue) from /ExternalAccounts where uniqueAcctId IN 
SET (‘4’,‘5’,‘6’,‘|')}}

Per the ticket a code of this type:


{{String query = “<trace>select sum(totalHoldingsValue) from /ExternalAccounts 
where uniqueAcctId IN SET (” + externalAccountNumbers + “)”;}}
{{SelectResults<Struct> preResults = executeTotalsQuery(queryService, query, 
externalAccountsRegion);}}
{{logger.info(“query = ” + query.toString());}}
{{logger.info(“query return object= ” + preResults.getClass().getName());}}
{{logger.info(“query return size= ” + preResults.size());}}{{Iterator it = 
preResults.iterator();}}
{{if (it.hasNext())}}{{{ logger.info(“query return = ” + it.next()); }}}
{{List<?> results = (List) preResults.asList();}}}}

threw an exception :

{{Index: 0, Size: 0}}
{{java.util.ArrayList.rangeCheck(ArrayList.java:653)}}
{{java.util.ArrayList.get(ArrayList.java:429)}}
{{io.pivotal.bofa.builder.PortfolioTotalsBuilder.queryExternalPortfolioTotals(PortfolioTotalsBuilder.java:81)}}
{{io.pivotal.bofa.builder.PortfolioTotalsBuilder.build(PortfolioTotalsBuilder.java:43)}}

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to