-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using NULL for column values show up as tombstones in Cassandra #240
Milestone
Comments
Actually, TLP did an article about it as well! http://thelastpickle.com/blog/2016/09/15/Null-bindings-on-prepared-statements-and-undesired-tombstone-creation.html |
Can anyone speak to why the repair_run table is used for both repairs and individual segments being repaired? |
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: #240
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: #240
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: - #240 - #244
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: - #240 - #244
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: - #240 - #244
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: - #240 - #244
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Re-read segments once leader-election is done, ensuring we're not writing back stale data Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: - #240 - #244
michaelsembwever
added a commit
that referenced
this issue
Oct 19, 2017
…) in the repair_run table. Remove RepairSegment.repairCommandId as no one was using/storing it. Make explicit which fields in RepairSegment can be null and be nulled. Hide the RepairSegment.Builder constructor. Re-read segments once leader-election is done, ensuring we're not writing back stale data Add Preconditions and asserts in ensuring lifecycle state is correct and null fields only exist as/when appropriate. Preconditions are used when fast and providing fail-fast design. Asserts are used where expensive and/or are secondary checks. ref: - #240 - #244
fixed in #244 which is now in master. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm using the cassandra storage engine with Cassandra 3.11.0. In my Cassandra logs there are lots of messages like:
I believe this is being caused by writing null values instead of leaving columns unset (here is a blog referencing why not to use nulls). I could just change the warn threshold, but I would prefer to store only the limited, necessary data.
The text was updated successfully, but these errors were encountered: