Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-14737

Limit the dependencies used by UDFs/UDAs

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 4.0-alpha4, 4.0
    • Legacy/CQL

    Description

      In an effort to clean up our hygiene and limit the dependencies used by UDFs/UDAs, I think we should refactor the UDF code parts and remove the dependency to the Java Driver in that area without breaking existing UDFs/UDAs.
       
      The patch is in this branch. The changes are rather trivial and provide 100% backwards compatibility for existing UDFs.
       
      The prototype copies the necessary parts from the Java Driver into the C* source tree to org.apache.cassandra.cql3.functions.types and adopts its usages - i.e. UDF/UDA code plus CQLSSTableWriter + StressCQLSSTableWriter. The latter two classes have a reference to UDF's UDHelper and had to be changed as well.
       
      Some functionality, like type parsing & handling, is duplicated in the code base with this prototype - once in the "current" source tree and once for UDFs. However, unifying the code paths is not trivial, since the UDF sandbox prohibits the use of internal classes (direct and likely indirect dependencies).
       
      /cc Jonathan Ellis 
       

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            snazy Robert Stupp Assign to me
            snazy Robert Stupp
            Robert Stupp
            Jason Brown, Jonathan Ellis, Robert Stupp, Ryan Svihla
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment