In CASSANDRA-7563 support for user-types, tuple-types and collections is added to C* using the Java Driver.
The code in C* requires access to some functionality which is currently performed using reflection/invoke-dynamic.
This ticket is about to provide better/direct access to that functionality.
I'll provide the patch for that.
your patch has been adapted to 3.0 branch and included in a pull request.
Would you mind if I step back and try to understand why we have such a strong adherence between the Java driver and C* code? My understanding is that this has been introduced as a side-effect of CASSANDRA-7563, is that right? Don't you think it would be wiser to decouple driver and C* code and extract the relevant parts of the driver's DataType API?
Yes, the intent for this ticket was the just not nice code here to parse C* types for UDFs.
In particular WRT to the effort to remove AbstractType at all, soon-ish by removing it with CASSANDRA-10365 from schema tables, I would not object not fixing this issue. Additionally I think it would help keeping driver internals internal.
TL;DR we can easily keep it as it currently is.
Thank you for the explanation. We will put it on hold for now and wait for CASSANDRA-10365.
It seems that this ticket has indeed been obsoleted by CASSANDRA-10365. Can we close it?
Well, 10365 did not really obsolete it. But I'm really fine with closing this ticket as the current implementation in C* is ok and performance is fine (using a MethodHandle).
So yes, feel free to close it - no objections.