Uploaded image for project: 'Apache Gobblin'
  1. Apache Gobblin
  2. GOBBLIN-880

Bump CouchbaseWriter Couchbase SDK version + write docs + cert based auth + enable TTL + dnsSrv

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.15.0
    • gobblin-couchbase
    • Important

    Description

      h1. CURRENT ISSUES

      Currently CouchbaseWriter.java lacks the ability to do the following:

      1. Use certificate based authentication
      2. Set document expiry (TTL)
        • based on write time
        • based on an offset specified field contained in the record's data (JSON)
        • (WILL NOT ADRESS) set expiry based on a field contained in the record's data
      3. Set DNS SRV for bootstrap host discovery setting
      4. Missing documentation on CouchbaseWriter usage
      5. Testing does not bring in CouchbaseMock correctly and causes problems while bumping com.couchbase.client:java-client

      h1. PROPOSED SOLUTIONS

      1. Add logic to connect using certificate based auth to the buckets (Will need to bump  com.couchbase.client:java-client to a newer version like 2.7.6) and associated configs
      2. TTL implementation
        1. Add configs to allow setting a TTL (documentTTL) and also specify the timeunits (documentTTLUnits) of these settings
        2. Add logic to specify the path to key to the field containing the source timestamp (documentTTLOriginField) and its units (documentTTLOriginUnits) to disambiguate between UNIX (sec) timestamps and other formats like timestamps in milliseconds.
        3. N/A but logic would be similar to (2)
      3. Add missing dnsSrv config
      4. Write proper documentation
      5. Bring in CouchbaseMock from Gradle and adapt existing unit tests.

      Attachments

        Issue Links

          Activity

            People

              shirshanka Shirshanka Das
              menarguez Michael A Menarguez
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 168h
                  168h
                  Remaining:
                  Remaining Estimate - 167h 10m
                  167h 10m
                  Logged:
                  Remaining Estimate - 167h 10m
                  50m