David Capwell created CASSANDRA-19781:
-----------------------------------------

             Summary: UDT rejects UDT literals when the column is clustering 
and reverse order
                 Key: CASSANDRA-19781
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19781
             Project: Cassandra
          Issue Type: Bug
          Components: CQL/Semantics
            Reporter: David Capwell


This was found in Accord’s fuzz testing

{code}
CREATE TYPE 
distributed_test_keyspace."EJfW0z8VJlcU2PA1sfV_mTu2jEFmRZbvzg2P1sW0EUBl" (
    "kRT76zGo0XlD_FXMcjR5scASR4W_WtKw3WxPrMeosltr6X" 
set<'org.apache.cassandra.db.marshal.LexicalUUIDType’>
);
{code}

{code}
CREATE TABLE distributed_test_keyspace."vTZ11fk6t8tzR3V" (
    "X2RD2YtsnBd7mvidw" 
frozen<tuple<frozen<"egCMwY5Ivz1Ubq5rtTKGaMSb4MtO0BVBAs8CEpqM">>>,
    "yXEL6XVkYSEWoFb8HTj0JAXx2pPtFlMNIa9l7H" 
frozen<"EJfW0z8VJlcU2PA1sfV_mTu2jEFmRZbvzg2P1sW0EUBl">,
    "bBsAIZg0d6ed_VyEYmo7XKdZhWLGSF5AaZCcIIv0A8N8kkjMp" 
'org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.UserType(distributed_test_keyspace,5337794750306e6c,6f506464446c3762575652615a7a59397866345f4e6163764c4c634575:org.apache.cassandra.db.marshal.BytesType,777a526a4b7775706453384465546f7957474552564f456771527052596e4c36614f4d4e58596439336a6470:org.apache.cassandra.db.marshal.UTF8Type)),org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.InetAddressType)))',
    "qokh6bGEIF4xf5AAZn6jMc" 
'org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.ListType(org.apache.cassandra.db.marshal.Int32Type),org.apache.cassandra.db.marshal.FloatType)'
 static,
    "UGwI2I3HjxYOCA" 'org.apache.cassandra.db.marshal.LexicalUUIDType',
    PRIMARY KEY ("X2RD2YtsnBd7mvidw", "yXEL6XVkYSEWoFb8HTj0JAXx2pPtFlMNIa9l7H", 
"bBsAIZg0d6ed_VyEYmo7XKdZhWLGSF5AaZCcIIv0A8N8kkjMp")
) WITH CLUSTERING ORDER BY ("yXEL6XVkYSEWoFb8HTj0JAXx2pPtFlMNIa9l7H" DESC, 
"bBsAIZg0d6ed_VyEYmo7XKdZhWLGSF5AaZCcIIv0A8N8kkjMp" ASC)
{code}

{code}
UPDATE distributed_test_keyspace."vTZ11fk6t8tzR3V"
  SET 
      "qokh6bGEIF4xf5AAZn6jMc"=?, 
      "UGwI2I3HjxYOCA"=QtGwDS."UGwI2I3HjxYOCA"
  WHERE 
    "X2RD2YtsnBd7mvidw"=? AND 
    
"yXEL6XVkYSEWoFb8HTj0JAXx2pPtFlMNIa9l7H"={"kRT76zGo0XlD_FXMcjR5scASR4W_WtKw3WxPrMeosltr6X":
 {0x0000000000001f00bd00000000000000}} AND 
    
"bBsAIZg0d6ed_VyEYmo7XKdZhWLGSF5AaZCcIIv0A8N8kkjMp"=0x04e00000037e27e734561c098292cee5ccec5cda03f37a6f09a8717ac3ae64548cdba66cffcff2d335a0e59b7cad3cf48ac3959d61c015c25c4e9f85eadf8e9c7ff8a8a2c8e67860c1d5f659281f7c248f089d6ab4edd736e860c1cd09e1797b8a1297297ddab94a7d2bf6802746aa846ebcb82c869b9bde74c67fcf3c755e0c308e1e8ab2c5788b71fa9ac9afd71234bbb422ea17351e2d69ec564d720b1a6e3871da0bf18439888868e0cd0a9e24c090b864d9d992d31855777c5beee420002ec704b5368113f813a1b4861587cf2a09ad6bf6f3ec0ad46a8379f4ca8b1eb4e1154074724a2313469d26fec20226c0c8d12311c09dcf29ff749cc16f99bedde3e16af90902a513ba7c543196b15b02710db0f74db42fac0e59a4441fcd57df0d43afae53950127ea6d9c832b637bfc2f4a8ecede56d22cb5d5471a6c72736ff88840771ec858acb626d212b0646e3d2ee23ae169f5076cb5aa799fbd176bf884ef78552a0f5205e2ec7ab2641f2f961f1c2536194cbe85f6c18cddd09496c0556349deac3a3e4d982e52521e074177b7b706f9cc35026701d099433261c41e51562d6cccf0d301e2aa981ac8d8c7722f8af05e964ef9818484c85dc93af6fb23a4145827f81008312af096df28d8f9c52a9eff3c667d09d24a5e6d4b1c9c48bb86f51a4d520a7fd9c6c5def541dbe43aafe2bfbac2c338609ab47ec483c7d8cc9af81e4426b58192c58cc8305320b853784051be32ba8e49d7785c140911504df47033037bf24ff9fd4bdbc8eef4de590efefa2af00370cbc2d7896f442a63f942120bf8c167560cd33fe08cd8de48980d4ad99552c055c87b763fdb0456bacf0617e88331ee33b2bb92ac5e24d1ede32240ffcb51858a460f5b41b5d6402d92d4489e78efa22a315b6ef9b2a476bf0e18e1f049d8377af09826462cdaf3e549aa1c5fa10be261b629e7e613a9eb7673f04fbac2e5abc492f34292c5e9db35c05355583a4ab6fdd1ac84149f0c817f6e15e6819c813696a0f9e55bd5101f8d06dfdd0973be8757f63f6810869462f8e192f0d2747d9b44b0550c870a52ba11ed20ce5bf2341393fc6c543c8e9e3a68b1632807960701d2fbe2cd4ae3bd21c98e49cbe94e6ef461a2d4162e921f2d4747ce3725850dd3c2e09dad5b33d95c24c28836ad95294d0705a716fffef1c3f40fd1de42796ec0a66224c748a253d903a9c2db2bc7fe52942cac09f55574a608fc9e88f9dcfd3bd0a5c6fbd32c0e6ef5275412950000015ae785bfe1af97e2aa94eaa590e6a283e9ada9e298b4ef9691efab80e7af803fe7999ce79caaefb6afe4b2b8eeb599eb9cb1e7bfa0ef9f82e49fabe4818febb898eab89de9a889eeb2b2e581bee9bdbfe393b9e39cb7e7b289eca394eb8cb2e39abeeab390eeaa8aeb9190e595b9eb9689eeaf99e184bbef9cb9ee9281eab4a4e3a18cef93abe39096ef95a2e88c9de8aaace29c9aee9aaced8abfe289b2e0af86e5a783d0b6efa494eabc85e4978feba584e6baa4e0a6aa3fe49db9e4afb03feb8f86e5b1b0e6969fe7a085e0aea4ecb2a8e490a7ea9787e89bbce2acb7e88795eb8dbfeba48dd0bae8ba8ae593b6e4acb1ed8d82e2a19deb949ae3848aee9a86e79695e0bca1e18889e58f827fe2a083ea97adefa3ace3a084ce86e19ca9e28a97eba19aed9783e299b6e3b88be59f91e49083ee8a92eeb188ea95b3ed94b4e7afbee99e87e58db9e0a4aeee87abe9bebde9bb81ed8082e49c870000200000000200000004ab34003f00000010e3081fb51f16fa8e9e4040c17341fbda00;
{code}

{code}
ERROR [node2_isolatedExecutor:3] node2 2024-07-17 14:04:33,530 
JVMStabilityInspector.java:71 - Exception in thread 
Thread[node2_isolatedExecutor:3,5,isolatedExecutor]
org.apache.cassandra.exceptions.InvalidRequestException: Invalid user type 
literal for yXEL6XVkYSEWoFb8HTj0JAXx2pPtFlMNIa9l7H of type 
frozen<"EJfW0z8VJlcU2PA1sfV_mTu2jEFmRZbvzg2P1sW0EUBl">
        at 
org.apache.cassandra.cql3.terms.UserTypes$Literal.validateAssignableTo(UserTypes.java:175)
        at 
org.apache.cassandra.cql3.terms.UserTypes$Literal.prepare(UserTypes.java:137)
        at org.apache.cassandra.cql3.terms.Terms$Raw$2.prepare(Terms.java:280)
        at org.apache.cassandra.cql3.Relation.toRestriction(Relation.java:178)
        at 
org.apache.cassandra.cql3.restrictions.StatementRestrictions.<init>(StatementRestrictions.java:218)
        at 
org.apache.cassandra.cql3.restrictions.StatementRestrictions.<init>(StatementRestrictions.java:157)
        at 
org.apache.cassandra.cql3.statements.ModificationStatement$Parsed.newRestrictions(ModificationStatement.java:1162)
        at 
org.apache.cassandra.cql3.statements.UpdateStatement$ParsedUpdate.prepareInternal(UpdateStatement.java:423)
        at 
org.apache.cassandra.cql3.statements.ModificationStatement$Parsed.prepare(ModificationStatement.java:1076)
        at 
org.apache.cassandra.cql3.statements.TransactionStatement$Parsed.prepare(TransactionStatement.java:566)
        at 
org.apache.cassandra.distributed.test.accord.AccordTestBase.lambda$isIdempotent$3b31f888$1(AccordTestBase.java:399)
{code}

The issue is “yXEL6XVkYSEWoFb8HTj0JAXx2pPtFlMNIa9l7H” is ReverseType (ORDER BY 
DESC), so type.isUDT() returns false!



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to