You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Vijay (JIRA)" <ji...@apache.org> on 2009/07/21 01:56:14 UTC
[jira] Created: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Thrift client forwarding the null keys to the servers
-----------------------------------------------------
Key: CASSANDRA-308
URL: https://issues.apache.org/jira/browse/CASSANDRA-308
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.3
Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
Reporter: Vijay
Priority: Minor
Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
client logs are like the below: (Java client lib)
org.apache.thrift.TApplicationException: Internal error processing get_slice
at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
at com.webex.dms.repository.Document.readBasic(Document.java:307)
Server Logs are as below:
DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
java.lang.NullPointerException
at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Sergio Bossa (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12743706#action_12743706 ]
Sergio Bossa commented on CASSANDRA-308:
----------------------------------------
Jonathan,
so should it, in your opinion, be resolved by patching the CassandraServer?
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12743710#action_12743710 ]
Jonathan Ellis commented on CASSANDRA-308:
------------------------------------------
No.
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748852#action_12748852 ]
Hudson commented on CASSANDRA-308:
----------------------------------
Integrated in Cassandra #180 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/180/])
update to thrift trunk and rename jar after the svn revision (806014). inline our map typedef to work around regression introduced in THRIFT-144. add slf4j dependencies (required since THRIFT-558). regenerate thrift structs with new version.
patch by jbellis for , CASSANDRA-387
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Reopened: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis reopened CASSANDRA-308:
--------------------------------------
still not null checking method parameters
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308-v2.patch, 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-308:
-------------------------------------
Attachment: 308-v2.patch
v2 adds null-checking to method parameters, as generated by the patch to THRIFT-575.
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308-v2.patch, 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis resolved CASSANDRA-308.
--------------------------------------
Resolution: Fixed
committed
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748922#action_12748922 ]
Eric Evans commented on CASSANDRA-308:
--------------------------------------
+1
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12749119#action_12749119 ]
Hudson commented on CASSANDRA-308:
----------------------------------
Integrated in Cassandra #181 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/181/])
add "required" to non-optional fields. Thrift sucks.
patch by jbellis; reviewed by Eric Evans for
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-308:
-------------------------------------
Attachment: 308.patch
Making "not optional" imply "required" was apparently too much of a leap for dreiss of Thrift. (See THRIFT-562, THRIFT-455.) This patch adds `required` boilerplate to all such fields.
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12743246#action_12743246 ]
Jonathan Ellis commented on CASSANDRA-308:
------------------------------------------
The real fix is for the server to do the validation; we don't want to rely on the client since there are so many implementations of such widely varying maturity.
I've attached a patch for this to THRIFT-562.
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Priority: Minor
> Fix For: 0.5
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-308:
-------------------------------------
Fix Version/s: (was: 0.5)
0.4
Assignee: Jonathan Ellis
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12743711#action_12743711 ]
Jonathan Ellis commented on CASSANDRA-308:
------------------------------------------
To clarify: it should be resolved by having the Cassandra.java code generated by Thrift do the checking, not the hand-coded CassandraServer.java.
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-308) Thrift client forwarding the null
keys to the servers
Posted by "Sammy Yu (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12751054#action_12751054 ]
Sammy Yu commented on CASSANDRA-308:
------------------------------------
+1
> Thrift client forwarding the null keys to the servers
> -----------------------------------------------------
>
> Key: CASSANDRA-308
> URL: https://issues.apache.org/jira/browse/CASSANDRA-308
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.3
> Environment: Centos 3.0, cassendra trunk, JVM 1.6, tomcat 1.6
> Reporter: Vijay
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.4
>
> Attachments: 308-v2.patch, 308.patch
>
>
> Thrift client is suppose to validate the input before it actually sends it to the server but it did not....
> client logs are like the below: (Java client lib)
> org.apache.thrift.TApplicationException: Internal error processing get_slice
> at org.apache.thrift.TApplicationException.read(TApplicationException.java:107)
> at org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:178)
> at org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:154)
> at com.webex.dms.datastore.DataStoreRead.readObject(DataStoreRead.java:163)
> at com.webex.dms.repository.ReadDocument.load(ReadDocument.java:87)
> at com.webex.dms.repository.Document.readBasic(Document.java:307)
> Server Logs are as below:
> DEBUG [pool-1-thread-448] 2009-07-20 09:27:50,831 CassandraServer.java (line 172) get_slice_from
> ERROR [pool-1-thread-448] 2009-07-20 09:27:50,837 Cassandra.java (line 844) Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.service.ThriftValidation.validateKey(ThriftValidation.java:18)
> at org.apache.cassandra.service.CassandraServer.readColumnFamily(CassandraServer.java:75)
> at org.apache.cassandra.service.CassandraServer.get_slice(CassandraServer.java:181)
> at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:838)
> at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:796)
> at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:252)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.