Perfect. Thanks Tyler. Great to hear you guys are already on top of it. I’ll watch for the resolution.
-brian --- Brian O'Neill Chief Technology Officer Health Market Science The Science of Better Results 2700 Horizon Drive • King of Prussia, PA • 19406 M: 215.588.6024 • @boneill42 <http://www.twitter.com/boneill42> • healthmarketscience.com This information transmitted in this email message is for the intended recipient only and may contain confidential and/or privileged material. If you received this email in error and are not the intended recipient, or the person responsible to deliver it to the intended recipient, please contact the sender at the email above and delete this email and any attachments and destroy any copies thereof. Any review, retransmission, dissemination, copying or other use of, or taking any action in reliance upon, this information by persons or entities other than the intended recipient is strictly prohibited. On 5/16/14, 12:25 PM, "Tyler Hobbs" <ty...@datastax.com> wrote: >Hi Brian, > >Thanks for the report. This looks like >https://issues.apache.org/jira/browse/CASSANDRA-7155, which should be >fixed >shortly. > > >On Thu, May 15, 2014 at 3:23 PM, Brian O'Neill ><b...@alumni.brown.edu>wrote: > >> >> OK ‹ we¹ve got some hyper data modeling going on, taking advantage of >>all >> the latest toys in CQL 2. And we ran into some trouble using maps >>within >> conditional updates. Specifically, when testing to see if a key exists >>in >> a >> map (with =null?), we encounter an NPE server-side. We believe this >>worked >> in 2.0.4. >> >> With this schema: >> CREATE TABLE progress ( >> key text, >> count int, >> partitions map<text, timestamp>, >> primary key (key) >> ); >> >> When executing the following: >> cqlsh:hms> UPDATE foo SET count=4962 WHERE key='PA' IF >> partitions['a']=null; >> >> [applied] >> ----------- >> False >> >> cqlsh:hms> UPDATE foo SET count=4962 WHERE key='PA'; >> cqlsh:hms> UPDATE foo SET count=4962 WHERE key='PA' IF >> partitions['a']=null; >> TSocket read 0 bytes >> >> We see the following NPE server-side: >> ERROR [Native-Transport-Requests:13353] 2014-05-15 15:10:00,154 >> QueryMessage.java (line 131) Unexpected error during query >> java.lang.NullPointerException >> at >> >> >>org.apache.cassandra.cql3.ColumnCondition$WithVariables.collectionApplies >>To( >> ColumnCondition.java:168) >> at >> >> >>org.apache.cassandra.cql3.ColumnCondition$WithVariables.appliesTo(ColumnC >>ond >> ition.java:142) >> at >> >> >>org.apache.cassandra.cql3.statements.CQL3CasConditions$ColumnsConditions. >>app >> liesTo(CQL3CasConditions.java:197) >> at >> >> >>org.apache.cassandra.cql3.statements.CQL3CasConditions.appliesTo(CQL3CasC >>ond >> itions.java:108) >> >> Is there a better way to test for existence of a key? >> Or is this a bug? (Regardless, we may want to protect against the NPE) >> Or am I missing something entirely? >> >> -brian >> >> --- >> Brian O'Neill >> Chief Technology Officer >> >> >> Health Market Science >> The Science of Better Results >> 2700 Horizon Drive € King of Prussia, PA € 19406 >> M: 215.588.6024 € @boneill42 <http://www.twitter.com/boneill42> € >> healthmarketscience.com >> >> >> This information transmitted in this email message is for the intended >> recipient only and may contain confidential and/or privileged material. >>If >> you received this email in error and are not the intended recipient, or >>the >> person responsible to deliver it to the intended recipient, please >>contact >> the sender at the email above and delete this email and any attachments >>and >> destroy any copies thereof. Any review, retransmission, dissemination, >> copying or other use of, or taking any action in reliance upon, this >> information by persons or entities other than the intended recipient is >> strictly prohibited. >> >> >> >> > > >-- >Tyler Hobbs >DataStax <http://datastax.com/>