Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-60324

dump-guts doesn't correctly handle ns_config keys with a purge timestamp

    XMLWordPrintable

Details

    • Triaged
    • 0
    • Unknown

    Description

      In MB-60320, one of the nodes failed to collect server guts, as it tried to use a key that had a purge timestamp, causing the below error:

      [2024-01-09T00:12:01.406387-08:00] Error occurred getting server guts: Got exception: {error,badarg}
      [{erlang,'++',
           [{'_vclock',63872006063,
                [{<<"ba6ad73fe331a4c4b0e77bc228a98de3">>,{1,63872006459}}]},
            ",/opt/couchbase/var/lib/couchbase/data"],
           [{error_info,#{module => erl_erts_errors}}]},
       {string,join,2,[{file,"string.erl"},{line,2269}]},
       {'dump-guts__escript__1704__787920__939626__5',main_with_everything,3,
           [{file,"/opt/couchbase/bin/dump-guts"},{line,585}]},
       {'dump-guts__escript__1704__787920__939626__5',main,1,
           [{file,"/opt/couchbase/bin/dump-guts"},{line,136}]},
       {escript,run,2,[{file,"escript.erl"},{line,750}]},
       {escript,start,1,[{file,"escript.erl"},{line,277}]},
       {init,start_em,1,[]},
       {init,do_boot,3,[]}]
      

      This is because we fail to strip out the '_vclock' tag when there is a purge timestamp, here:

      scripts/dump-guts

      425 strip_config_meta([{'_vclock', _} | Value]) ->
      426     Value;
      427 strip_config_meta(Value) ->
      428     Value.
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              peter.searby Peter Searby
              peter.searby Peter Searby
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty