Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-7117

RTS to skip modifies that are more recent than on-disk base update while restoring an update

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Blocker - P1 Blocker - P1
    • WT10.0.0, 4.9.0, 4.4.4
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • 5
    • Storage - Ra 2021-02-08
    • v4.4

      RTS is restoring a corrupted update from history store to fix the unstable on-disk data store update. With the reproducer from HELP-21635, the following logs are generated while RTS is restoring an update from history store.

      {"t":{"$date":"2021-01-25T01:26:58.802+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:802616][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] on-disk update aborted with start durable timestamp: (1611537962, 95), commit timestamp: (1611537962, 95), prepared: false and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804220][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537963, 206), durable timestamp: (1611537963, 206), stop timestamp: (1611537963, 257), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804322][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537963, 155), durable timestamp: (1611537963, 155), stop timestamp: (1611537963, 206), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804397][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537963, 105), durable timestamp: (1611537963, 105), stop timestamp: (1611537963, 155), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804485][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537963, 57), durable timestamp: (1611537963, 57), stop timestamp: (1611537963, 105), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804562][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537963, 12), durable timestamp: (1611537963, 12), stop timestamp: (1611537963, 57), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804632][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537962, 226), durable timestamp: (1611537962, 226), stop timestamp: (1611537963, 12), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804701][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537962, 181), durable timestamp: (1611537962, 181), stop timestamp: (1611537962, 226), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804793][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537962, 140), durable timestamp: (1611537962, 140), stop timestamp: (1611537962, 181), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804862][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537962, 95), durable timestamp: (1611537962, 95), stop timestamp: (1611537962, 140), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.804+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804931][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537962, 64), durable timestamp: (1611537962, 64), stop timestamp: (1611537962, 95), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.805+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:804999][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update aborted with start timestamp: (1611537962, 35), durable timestamp: (1611537962, 35), stop timestamp: (1611537962, 64), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.805+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:805067][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] history store update valid with start timestamp: (1611537961, 219), durable timestamp: (1611537961, 219), stop timestamp: (1611537962, 35), type: 1 and stable timestamp: (1611537961, 236)"}}
      {"t":{"$date":"2021-01-25T01:26:58.805+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1611538018:805170][1214556:0x7f777dffac80], file:collection-2-4821371008708493446.wt, txn rollback_to_stable: [WT_VERB_RTS] update restored from history store (txnid: 0, start_ts: (1611537961, 219), durable_ts: (1611537961, 219)"}}
      

      RTS forms a standard update from Modify updates of history store while replacing a data store update. During this process, it uses the existing data store update as a base update to apply all the modify operations from the history store. But in this situation, the modify updates in the history store are from later timestamp than the data store leads to a wrong full update to be restored.

      It is possible that the history store can have updates greater than the data store when eviction occurs in parallel to the checkpoint.

            Assignee:
            haribabu.kommi@mongodb.com Haribabu Kommi
            Reporter:
            haribabu.kommi@mongodb.com Haribabu Kommi
            Votes:
            0 Vote for this issue
            Watchers:
            25 Start watching this issue

              Created:
              Updated:
              Resolved: