私はCassandraでDELETEクエリを実行しています。これは、IF EXISTS句を持つ複数のUPDATEクエリと同時に発生します。予想される動作は、DELETEが到着したときに実行され、IF EXISTS句が削除が発生したときにFALSEとして解決されるため、後続のUPDATEは実行されないことです。Cassandra DELETEクエリが実行されていません。
これは一貫性の問題ではありません.Cassandra 'クラスタ'はドッキング・コンテナ内で実行されている単一のノードであるためです。私はログを見て、失敗した削除と比較して、正常な削除のために、トレースレベルでcassandraログ出力をキャプチャしました。失敗した場合、削除は単に実行されていないようです。
成功削除:
削除、更新の直後に処理され、削除された行がもう存在しないため適用されないされていない行2
で処理されます。失敗
TRACE [Native-Transport-Requests-4] 2017-07-21 14:27:37,012 Message.java:516 - Received: QUERY DELETE FROM monitored_compliance_rules WHERE organisation_id='2' AND id=2cde2468-1c04-480c-9e24-681c04480c9e[pageSize = 5000], v=4/v4
TRACE [Native-Transport-Requests-4] 2017-07-21 14:27:37,012 QueryProcessor.java:212 - Process [email protected] @CL.LOCAL_ONE
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 Message.java:516 - Received: EXECUTE 346d975e583adeeb6aadbf60e16d9d26 with 4 values at consistency LOCAL_ONE, v=4/v4
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 QueryProcessor.java:519 - [1] 'java.nio.HeapByteBuffer[pos=0 lim=4 cap=4]'
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 QueryProcessor.java:519 - [2] 'java.nio.HeapByteBuffer[pos=0 lim=12 cap=12]'
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 QueryProcessor.java:519 - [3] 'java.nio.HeapByteBuffer[pos=0 lim=1 cap=1]'
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 QueryProcessor.java:519 - [4] 'java.nio.HeapByteBuffer[pos=0 lim=16 cap=16]'
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 QueryProcessor.java:212 - Process [email protected] @CL.LOCAL_ONE
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 MessagingService.java:945 - /172.18.0.4 sending PAXOS_PREPARE to [email protected]/172.18.0.4
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,013 MessagingService.java:948 - Message-to-self TYPE:MUTATION VERB:PAXOS_PREPARE going over MessagingService
TRACE [MutationStage-3] 2017-07-21 14:27:37,015 MessagingService.java:945 - /172.18.0.4 sending REQUEST_RESPONSE to [email protected]/172.18.0.4
TRACE [MutationStage-3] 2017-07-21 14:27:37,015 MessagingService.java:948 - Message-to-self TYPE:REQUEST_RESPONSE VERB:REQUEST_RESPONSE going over MessagingService
TRACE [RequestResponseStage-5] 2017-07-21 14:27:37,016 PrepareCallback.java:64 - Prepare response PrepareResponse(true, Commit(bdbe3ea0-6e20-11e7-bc6a-52488cbcfc11, [analytics.monitored_compliance_rules] key=2 columns=[[] | [days_processed days_to_process state]]
Row: id=4c6ddcbe-c3f7-4287-addc-bec3f7628718 | days_processed=0, days_to_process=180, state=initializing), Commit(13814000-1dd2-11b2-8080-808080808080, [analytics.monitored_compliance_rules] key=2 columns=[[] | []])) from /172.18.0.4
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,016 ReadCallback.java:101 - Blockfor is 1; setting up requests to /172.18.0.4
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,016 AbstractReadExecutor.java:116 - reading data locally
TRACE [Native-Transport-Requests-4] 2017-07-21 14:27:37,016 Tracing.java:188 - request complete
TRACE [Native-Transport-Requests-4] 2017-07-21 14:27:37,017 Message.java:535 - Responding: EMPTY RESULT, v=4/v4
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,018 ReadCallback.java:147 - Read: 5 ms.
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,019 Tracing.java:188 - request complete
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,019 Message.java:535 - Responding: ROWS [[applied](analytics, monitored_compliance_rules), org.apache.cassandra.db.marshal.BooleanType]
| false
---, v=4/v4
削除は1行目に受信されているが、処理されません削除します。
更新は2行目で受信され、削除が行われなかったため、IF EXISTS句がtrueに解決されるため、正常に実行されます。
TRACE [Native-Transport-Requests-1] 2017-07-21 14:27:37,353 Message.java:516 - Received: QUERY DELETE FROM monitored_compliance_rules WHERE organisation_id='2' AND id=5c1b69cd-653d-4d6b-9b69-cd653dbd6b8c[pageSize = 5000], v=4/v4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 Message.java:516 - Received: EXECUTE 346d975e583adeeb6aadbf60e16d9d26 with 4 values at consistency LOCAL_ONE, v=4/v4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 QueryProcessor.java:519 - [1] 'java.nio.HeapByteBuffer[pos=0 lim=4 cap=4]'
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 QueryProcessor.java:519 - [2] 'java.nio.HeapByteBuffer[pos=0 lim=12 cap=12]'
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 QueryProcessor.java:519 - [3] 'java.nio.HeapByteBuffer[pos=0 lim=1 cap=1]'
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 QueryProcessor.java:519 - [4] 'java.nio.HeapByteBuffer[pos=0 lim=16 cap=16]'
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 QueryProcessor.java:212 - Process [email protected]2 @CL.LOCAL_ONE
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,369 MessagingService.java:945 - /172.18.0.4 sending PAXOS_PREPARE to [email protected]/172.18.0.4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,370 MessagingService.java:948 - Message-to-self TYPE:MUTATION VERB:PAXOS_PREPARE going over MessagingService
TRACE [MutationStage-2] 2017-07-21 14:27:37,374 MessagingService.java:945 - /172.18.0.4 sending REQUEST_RESPONSE to [email protected]/172.18.0.4
TRACE [MutationStage-2] 2017-07-21 14:27:37,376 MessagingService.java:948 - Message-to-self TYPE:REQUEST_RESPONSE VERB:REQUEST_RESPONSE going over MessagingService
TRACE [RequestResponseStage-4] 2017-07-21 14:27:37,377 PrepareCallback.java:64 - Prepare response PrepareResponse(true, Commit(bdbe3ea0-6e20-11e7-bc6a-52488cbcfc11, [analytics.monitored_compliance_rules] key=2 columns=[[] | [days_processed days_to_process state]]
Row: id=4c6ddcbe-c3f7-4287-addc-bec3f7628718 | days_processed=0, days_to_process=180, state=initializing), Commit(13814000-1dd2-11b2-8080-808080808080, [analytics.monitored_compliance_rules] key=2 columns=[[] | []])) from /172.18.0.4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,378 ReadCallback.java:101 - Blockfor is 1; setting up requests to /172.18.0.4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,378 AbstractReadExecutor.java:116 - reading data locally
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,379 ReadCallback.java:147 - Read: 10 ms.
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,380 MessagingService.java:945 - /172.18.0.4 sending PAXOS_PROPOSE to [email protected]/172.18.0.4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,380 MessagingService.java:948 - Message-to-self TYPE:MUTATION VERB:PAXOS_PROPOSE going over MessagingService
TRACE [MutationStage-2] 2017-07-21 14:27:37,381 MessagingService.java:945 - /172.18.0.4 sending REQUEST_RESPONSE to [email protected]/172.18.0.4
TRACE [MutationStage-2] 2017-07-21 14:27:37,383 MessagingService.java:948 - Message-to-self TYPE:REQUEST_RESPONSE VERB:REQUEST_RESPONSE going over MessagingService
TRACE [RequestResponseStage-2] 2017-07-21 14:27:37,383 ProposeCallback.java:62 - Propose response true from /172.18.0.4
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,383 Tracing.java:188 - request complete
TRACE [Native-Transport-Requests-3] 2017-07-21 14:27:37,383 Message.java:535 - Responding: ROWS [[applied](analytics, monitored_compliance_rules), org.apache.cassandra.db.marshal.BooleanType]
| true
---, v=4/v4
エラーが発生した場合、ドライバで例外が返されません。それは完全に静かに失敗します。
なぜこの削除が行われないのですか?これはカサンドラ自身の何らかのバグを示していますか?
どのバージョンのcassandraを使用していますか? – dilsingi
最新バージョン:3.11 –