Thanks for the help with the INSERT, Cheng! I'm further along than before. But it still must not be matching up quite right, because I can still select that partition.
I have several different combinations of the two keys (and I removed the space) of "Minneapolis,MN" and 202210. Here's what I've got out there so far: aaron@cqlsh:stackoverflow> select ks_name, table_name, blobAsText(key) from system_distributed.partition_denylist; ks_name | table_name | system.blobastext(key) ---------------+---------------------+-------------------------- stackoverflow | weather_sensor_data | 'Minneapolis,MN', 202210 stackoverflow | weather_sensor_data | 'Minneapolis,MN',202210 stackoverflow | weather_sensor_data | 'Minneapolis,MN':202210 stackoverflow | weather_sensor_data | Minneapolis,MN, 202210 stackoverflow | weather_sensor_data | Minneapolis,MN202210 stackoverflow | weather_sensor_data | Minneapolis,MN:202210 (6 rows) aaron@cqlsh:stackoverflow> SELECT * FROM weather_sensor_data WHERE city='Minneapolis,MN' AND month=202210; city | month | recorded_time | temp ----------------+--------+---------------------------------+------ Minneapolis,MN | 202210 | 2022-10-17 11:30:00.000000+0000 | 1 Minneapolis,MN | 202210 | 2022-10-17 11:25:00.000000+0000 | 1 Minneapolis,MN | 202210 | 2022-10-17 11:20:00.000000+0000 | 1 Minneapolis,MN | 202210 | 2022-10-17 11:15:00.000000+0000 | 1 Minneapolis,MN | 202210 | 2022-10-17 11:10:00.000000+0000 | 2 Minneapolis,MN | 202210 | 2022-10-17 11:05:00.000000+0000 | 2 Minneapolis,MN | 202210 | 2022-10-17 11:00:00.000000+0000 | 2 (7 rows) As you can see, I can still select the partition. I was really hoping one of those combinations would do it. Looking at the StorageProxyTest.java in the project, I saw that it was delimited by a colon ":", which is why I tried that, too. Still looking for the right way to enter both of those keys. Thanks, Aaron On Mon, Oct 17, 2022 at 4:40 PM Cheng Wang <che...@netflix.com> wrote: > Another approach is, instead of using $$, you can put additional pair of > single quote around the 'Minneapolis, MN' > > cqlsh> insert into system_distributed.partition_denylist (ks_name, > table_name, key) values ('stackoverflow', 'weather_sensor_data', > textAsBlob('''Minneapolis, MN'', 202210')); > > cqlsh> select ks_name, table_name, blobAsText(key) from > system_distributed.partition_denylist; > > ks_name | table_name | system.blobastext(key) > > ---------------+---------------------+--------------------------- > > stackoverflow | weather_sensor_data | 'Minneapolis, MN', 202210 > > On Mon, Oct 17, 2022 at 2:30 PM Cheng Wang <che...@netflix.com> wrote: > >> Hi Aaron, >> >> Yes, you can directly insert into the system_distributed.partition_denylist >> instead of using JMX. Jordan wrote a blog post for denylist >> >> https://cassandra.apache.org/_/blog/Apache-Cassandra-4.1-Denylisting-Partitions.html >> >> And the syntax error, one way around is to put $$ around like below >> >> cqlsh> insert into system_distributed.partition_denylist (ks_name, >> table_name, key) values ('stackoverflow', 'weather_sensor_data', >> textAsBlob($$'Minneapolis, MN', 202210$$)); >> >> There is post about this >> >> https://docs.datastax.com/en/cql-oss/3.3/cql/cql_reference/escape_char_r.html#:~:text=Column%20names%20that%20contain%20characters,using%20a%20single%20quotation%20mark >> . >> >> and then you can verify the insert by doing >> >> cqlsh> select ks_name, table_name, blobAsText(key) from >> system_distributed.partition_denylist; >> >> >> ks_name | table_name | system.blobastext(key) >> >> ---------------+---------------------+--------------------------- >> >> stackoverflow | weather_sensor_data | 'Minneapolis, MN', 202210 >> Pls let me know if it works for you. >> >> >> On Mon, Oct 17, 2022 at 1:35 PM Aaron Ploetz <aaronplo...@gmail.com> >> wrote: >> >>> I have this table definition: >>> >>> CREATE TABLE stackoverflow.weather_sensor_data ( >>> city text, >>> month int, >>> recorded_time timestamp, >>> temp float, >>> PRIMARY KEY ((city, month), recorded_time) >>> ) WITH CLUSTERING ORDER BY (recorded_time DESC) >>> >>> Sample data looks like this: >>> >>> > SELECT * FROM weather_sensor_data WHERE city='Minneapolis, MN' AND >>> month=202111; >>> >>> city | month | recorded_time | temp >>> -----------------+--------+---------------------------------+------ >>> Minneapolis, MN | 202111 | 2021-11-01 08:35:00.000000+0000 | 3 >>> Minneapolis, MN | 202111 | 2021-11-01 08:30:00.000000+0000 | 3 >>> Minneapolis, MN | 202111 | 2021-11-01 08:25:00.000000+0000 | 2 >>> Minneapolis, MN | 202111 | 2021-11-01 08:20:00.000000+0000 | 2 >>> Minneapolis, MN | 202111 | 2021-11-01 08:15:00.000000+0000 | 2 >>> >>> (5 rows) >>> >>> Using JMX Term, I've tried to denylist that partition, but I must have >>> the syntax for composite keys incorrect: >>> >>> $>bean org.apache.cassandra.db:type=StorageProxy >>> $>run denylistKey stackoverflow weather_sensor_data "'Minneapolis, >>> MN',202210" >>> #IllegalArgumentException: Operation denylistKey with 4 parameters >>> doesn't exist in bean org.apache.cassandra.db:type=StorageProxy >>> >>> Obviously, it's reading the space between "Minneapolis," and "MN" as a >>> delimiter. What's the right way to handle commas, spaces, and composite >>> keys for this? >>> >>> Also, is there another way to accomplish this without using JMX? >>> >>> Thanks, >>> >>> Aaron >>> >>> >>> >>>