[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-05-16 Thread Jira


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17723071#comment-17723071
 ] 

Andres de la Peña commented on CASSANDRA-18352:
---

[~jwest] the changes look good to me, +1.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-05-15 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17722947#comment-17722947
 ] 

Jordan West commented on CASSANDRA-18352:
-

[~adelapena] added reason field. if the changes look good to you I will go 
ahead and merge. 

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-05-09 Thread Jira


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17720895#comment-17720895
 ] 

Andres de la Peña commented on CASSANDRA-18352:
---

[~jwest] thanks, it looks great to me. The only thing left is [this 
nit|https://github.com/apache/cassandra/pull/2246#discussion_r1166683282] about 
adding the reason for the guardrail. Other than that, I'm +1 on the changes.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-05-05 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17720092#comment-17720092
 ] 

Jordan West commented on CASSANDRA-18352:
-

[~adelapena] added your two commits and some tests in {{DurationSpecTest}}. 
Rebased and added the repeated tests. 

[j11|https://app.circleci.com/pipelines/github/jrwest/cassandra/165/workflows/0b0afa99-fe16-4e18-8109-c7822a16a14e]
 
[j8|https://app.circleci.com/pipelines/github/jrwest/cassandra/165/workflows/591c3fdf-ac62-4777-9312-fe245f1a6936]

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-04-14 Thread Jira


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17712322#comment-17712322
 ] 

Andres de la Peña commented on CASSANDRA-18352:
---

Great, thanks.

A detail that is missing is using [a single 
setter|https://github.com/apache/cassandra/pull/2246#discussion_r1158464478] 
for both the warn and fail thresholds, [this 
way|https://github.com/adelapena/cassandra/commit/8cf47d8be03d7563762acd320866b86b9952d25c].

Something that I missed on my first review round is that the guardrails for 
column and collection sizes use {{String}} arguemnts on the JMX methods that 
manipulate the underlying {{DataStorageSpec}} attributes. Those 
{{{}String{}}}-based methods are probably more useful than directly expressing 
the thresholds in bytes, and give us a good alignment between JMX and the 
values on {{{}cassandra.yaml{}}}.

We should probably also use {{String}} arguments on the JMX methods for new 
{{{}DurationSpec{}}}-based guardrails, That way they would be better aligned 
with the other guardrails and the {{cassandra.yaml}} properties. [This 
commit|https://github.com/adelapena/cassandra/commit/4a40d94fae723655ef90c6a94817cf49676f0b3c]
 shows how the approach would look like.

Once we have standarized the JMX methods for the new guardrails, we can make 
their tests extend {{{}ThresholdTester{}}}. The benefit of doing so is that 
{{ThresholdTester}} includes some testing for config validation that we are 
missing on the current tests. This requires some minor changes on 
{{ThresholdTester}} in order to make it work with {{{}DurationSpec{}}}-based 
guardrails. I have included those changes in the previous commit.

A final detail would be adding some tests for the new 
{{DurationSpec.LongMicrosecondsBound}} class. Those tests can be added on 
[{{DurationSpecTest}}|https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/config/DurationSpecTest.java],
 which already contains tests for the other subclasses of {{{}DurationSpec{}}}.

Regarding CI, I think that the runs are not running the jobs to repeatedly run 
the new tests. Those jobs are meant reduce the risk of introducing new flakies. 
The CircleCI config file including the repeated runs can be generated by 
running:
{code:java}
.circleci/generate.sh -p{code}

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-04-12 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17711642#comment-17711642
 ] 

Jordan West commented on CASSANDRA-18352:
-

[~adelapena] thank you for the commits w/ the review. I took both of them. Test 
run on a rebased trunk and with your patches:

 

[j8|https://app.circleci.com/pipelines/github/jrwest/cassandra/163/workflows/2e9c9758-7fcc-41d7-8874-164bebc5f542]
 [ 
j11|https://app.circleci.com/pipelines/github/jrwest/cassandra/163/workflows/1c88d752-7c95-4ad7-85f9-602fe4a2d28d]
 

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-04-05 Thread Jira


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17708984#comment-17708984
 ] 

Andres de la Peña commented on CASSANDRA-18352:
---

Thanks, I have left a few additional suggestions on the PR.

It seems that the CI runs don't include repeated runs for the new and modified 
tests. Those repeated runs can be included on CircleCI config by running:
{code}
.circleci/generate.sh -p
{code}

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-04-04 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17708606#comment-17708606
 ] 

Jordan West commented on CASSANDRA-18352:
-

Addressed review comments from [~adelapena] (thanks!). New test runs running 
now and linked below:

 

[j8|https://app.circleci.com/pipelines/github/jrwest/cassandra/161/workflows/75522b14-eab8-4162-8027-131aac728420]

[j11 
|https://app.circleci.com/pipelines/github/jrwest/cassandra/161/workflows/efbd9663-b753-43e4-b456-26776d72ef7c]

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-04-03 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17708060#comment-17708060
 ] 

Jordan West commented on CASSANDRA-18352:
-

Pushed the renaming requested by [~adelapena] and kicked off new test runs that 
are running now. 

 

[j8|https://app.circleci.com/pipelines/github/jrwest/cassandra/160/workflows/5d438432-7ca7-4819-ba7b-c787caa1e2a7]

[j11|https://app.circleci.com/pipelines/github/jrwest/cassandra/160/workflows/3d3e02fc-7ffc-4a7f-adcc-053a1d29f100]
 

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-31 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17707398#comment-17707398
 ] 

Jordan West commented on CASSANDRA-18352:
-

I will change to that naming

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-31 Thread Jira


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17707394#comment-17707394
 ] 

Andres de la Peña commented on CASSANDRA-18352:
---

I'm not sure the names of the properties match the style of other 
{{cassandra.yaml}} properties. Usually the names of threshold guardrails 
include the "_threshold" suffix.

For the case of min/max thresholds, we have the precedent of [the guardrail for 
min/max replication 
factor|https://github.com/apache/cassandra/blob/9f078090e9e07d0917716e395e770b766a327fc7/conf/cassandra.yaml#L1871-L1880],
 which looks like:
{code:java}
minimum_replication_factor_warn_threshold
minimum_replication_factor_fail_threshold
maximum_replication_factor_warn_threshold
maximum_replication_factor_fail_threshold
{code}
If we follow the same naming style for consistency, the new yaml properties 
would look like:
{code:java}
minimum_timestamp_warn_threshold
minimum_timestamp_fail_threshold
maximum_timestamp_warn_threshold
maximum_timestamp_fail_threshold
{code}
Instead of the current:
{code:java}
timestamp_warn_upper_bound
timestamp_fail_upper_bound
timestamp_warn_lower_bound
timestamp_fail_lower_bound
{code}
I don't see that we have any other properties whose names use lower/upper bound.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-31 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17707392#comment-17707392
 ] 

Jordan West commented on CASSANDRA-18352:
-

Planning to add that before commit, yes. Had only rebased and kicked off a new 
test run when I had a moment. 

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-31 Thread Brandon Williams (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17707329#comment-17707329
 ] 

Brandon Williams commented on CASSANDRA-18352:
--

I don't see the commented out entries to the cassandra.yaml documenting this 
new guardrail and its use that Jeremiah mentioned, but this looks good and I 
trust you can handle that on commit. +1

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-31 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17707325#comment-17707325
 ] 

Jordan West commented on CASSANDRA-18352:
-

The newest run is much more green: 
[j8|https://app.circleci.com/pipelines/github/jrwest/cassandra/158/workflows/c10f7c56-3821-4f27-98e1-0664b1e9c73f]
 [j11 
|https://app.circleci.com/pipelines/github/jrwest/cassandra/158/workflows/cf28afe3-b9f7-4f63-8f07-3c35af8398e2]

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-28 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17706187#comment-17706187
 ] 

Jordan West commented on CASSANDRA-18352:
-

I’ll rebase and do a new run. I would prefer to see it more green as well. 

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-28 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17706186#comment-17706186
 ] 

Jordan West commented on CASSANDRA-18352:
-

will make sure to add those. I am not necessarily opposed to having a 
resolution option as long as it defaults to micros. I will say that we commonly 
see folks accidentally use millisecond resolution (when they had implicitly 
been using microseconds but need to write some data USING TIMESTAMP or other 
reason). That is the one of the main scenarios we want to prevent. 

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-28 Thread Jeremiah Jordan (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17706140#comment-17706140
 ] 

Jeremiah Jordan commented on CASSANDRA-18352:
-

it is uncommon, but I have seen people use something other than microseconds 
since epoch as their timestamp resolution. Should the guardrail support such 
people by adding a “resolution” parameter for it?

The answer is free to be “no” but we should make sure to ducment it as such in 
that case.

on that note the patch should add commented out entries to the cassandra.yaml 
documenting this new guardrail and its use.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-28 Thread Brandon Williams (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17706117#comment-17706117
 ] 

Brandon Williams commented on CASSANDRA-18352:
--

I can see at lest a few dtest failures that a rebase would fix, though I hate 
to ask for that while circle is in its current shape.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-28 Thread Cheng Wang (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17706106#comment-17706106
 ] 

Cheng Wang commented on CASSANDRA-18352:


LGTM. +1 on that.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>  Components: CQL/Semantics
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-21 Thread Brandon Williams (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17703142#comment-17703142
 ] 

Brandon Williams commented on CASSANDRA-18352:
--

Guardrail makes sense to me, +1 to that.

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-18352) Add Option to Timebox write timestamps

2023-03-21 Thread Jordan West (Jira)


[ 
https://issues.apache.org/jira/browse/CASSANDRA-18352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17703067#comment-17703067
 ] 

Jordan West commented on CASSANDRA-18352:
-

would likely implement this as a new guardrail that is checked after 
{{Guardrails.userTimestampsEnabled}} in {{ModificationStatement#validate}}

> Add Option to Timebox write timestamps
> --
>
> Key: CASSANDRA-18352
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18352
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jordan West
>Assignee: Jordan West
>Priority: Normal
>
> In several cases it is desirable to have client provided timestamps generated 
> at the application-level. This can be error prone, however. In particular, 
> applications can choose timestamps that may be nonsensical for a given 
> application. One dangerous manifestation of this is the "doomstone" (a 
> tombstone far in the future of any realistic write). This feature would allow 
> either operators or users to specify a minimum and maximum timebound of 
> "reasonable" timestamps. The default would be negative infinity, positive 
> infinity to maintain backwards compatibility. Writes that are USING TIMESTAMP 
> with a timestamp outside of the timebox will see an exception. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org