Documentation for a newer release is available. View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

Akka Persistence Data Model

Collection List

Journal

Stores events generated by IPF flows and Akka related sharding information based on the Akka Persistence model.

Snapshot

Stores the state of transactions for quicker recovery. For more information see Snapshotting.

Overview Diagram

Below is a diagram showing the journal and snapshot collections in their entirety:

bar

Collection Overview

Journal

Fields

Below are the fields for the journal collection:

Field Description Example

_id

PK - Autogenerated by MongoDB

63e0d35dcbd3c015141aad53

persistenceId

A unique identifier generated by IPF flows to identity actors, usually consisting of: <flo_name>|<random_id>

Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e

hiSeq

Contains highest sequence number in the list of journal write entries when persisting the events.

1

loSeq

Contains lowest sequence number in the list of journal write entries when persisting the events.

1

ttl

Per-document time-to-live value, in seconds, applied to the Journal Event upon deletion through MongoDBAsyncWriteJournal. Used for CosmosDB journal collection purging.

2592000

deletedAt

The datetime defining when a Journal Event has been marked as deleted by the Write Journal. Used for MongoDB journal collection purging.

2024-07-03T14:43:23.696Z

eventPayloads.timestamp

The time the event was stored.

1683111720000

eventPayloads.deleted

Field to indicate if events have been deleted from memory (passivated) and are eligible for replay (rehydration).

false

eventPayloads.manifest

The event adapter manifest for the event if available. May be empty if the event adapter manifest is not used.

eventPayloads.persistenceId

A unique identifier generated by IPF flows to identity actors, usually consisting of: <flo_name>|<random_id>.

Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e

eventPayloads.sequenceNumber

The sequence number of the persisted event by persistenceId.

1

eventPayloads.writerUuid

Unique identifier of the writing persistent actor.

321bb2db-e5b4-46ec-b12a-e28306274017

eventPayloads.tags

The persistence tags used to identity a subset of data for consumption.

["tag-1"]

eventPayloads.payload

Stores the actual content of the event.

{"type" : "com.iconsolutions.ipf.test.model.test.events.FlowInitiated","value" : { "$binary" : "<encoded_value>", "$type" : "00" }}

Example Record

JournalEvent
{
    "_id" : "6450d812d5f96f033739308c",
    "eventPayloads" : [
        {
            "deleted" : false,
            "manifest" : "",
            "payload" : {
                "type" : "com.iconsolutions.ipf.test.model.test.events.FlowInitiated",
                "value" : { "$binary" : "eyJjcmVhdGVkQXQiOiIyMDIzLTA1LTAyVDA5OjI5OjU0LjY3ODE3OFoiLCJvcmlnaW5hbENvbW1hbmRJZCI6IkhhbmRsZUluaXRpYXRlVGVzdHwzMzQ0YWY1MC1kNzhiLTQzNDktYmQzYS1hNDg0MGRhMzFhOGJ8ZDM4MWM0NTMtNjM5OC00ZDNhLTkzYTktZDVhYmUzNzg2YmE3Iiwic3RhdHVzIjp7Im9yaWdpbmF0aW5nU3RhdHVzIjoiSW5pdGlhbCIsInJlc3VsdGluZ1N0YXR1cyI6IlN0YXRlMSIsImdsb2JhbFN0YXR1cyI6IlBFTkRJTkcifSwiZXZlbnRJZCI6IlRlc3R8NjM5ZDhmZGQtYWNjOS00MDg2LWFiNjktMWMzNTBlMWVmNzBlfDEiLCJwcm9jZXNzaW5nQ29udGV4dCI6eyJhc3NvY2lhdGlvbklkIjoiVGVzdHw2MzlkOGZkZC1hY2M5LTQwODYtYWI2OS0xYzM1MGUxZWY3MGUiLCJ1bml0T2ZXb3JrSWQiOiJiZjZlMjQ4MC1kN2U1LTRiNjEtYThhMi0wMzUxMDUyMmEzYTEiLCJjbGllbnRSZXF1ZXN0SWQiOiI2MmE5Yjc5Yy01OGM4LTQ1NDQtYjI3MS03Y2U5NGZkN2M1NzkiLCJwcm9jZXNzaW5nRW50aXR5IjoiVU5LTk9XTiJ9LCJpbml0aWF0aW5nSWQiOiI2MzlkOGZkZC1hY2M5LTQwODYtYWI2OS0xYzM1MGUxZWY3MGUiLCJjYXVzZWRCeUV2ZW50SWQiOm51bGwsInJlc3BvbnNlQ29kZSI6bnVsbCwib3JpZ2luYWxSZXNwb25zZUNvZGUiOm51bGwsInJlYXNvbkNvZGUiOm51bGwsIm9yaWdpbmFsUmVhc29uQ29kZSI6bnVsbCwicmVhc29uVGV4dCI6bnVsbCwib3JpZ2luYWxSZWFzb25UZXh0IjpudWxsLCJoYXNoIjoiLTUxMzQ1MDYwIiwiZmFpbHVyZVJlc3BvbnNlIjpmYWxzZSwiY3VzdG9tZXJDcmVkaXRUcmFuc2ZlciI6bnVsbCwibXlUcmFuIjp7ImdycEhkciI6eyJtc2dJZCI6ImMwOGNkNmUwLTAyODMtNDQ1MS1iMDNlLTNkZjljMTIzZGFkZiIsImNyZUR0VG0iOiIyMDIzLTA1LTAyVDA5OjI5OjU0LjQ1NDM1MloiLCJidGNoQm9va2ciOm51bGwsIm5iT2ZUeHMiOiIxIiwiY3RybFN1bSI6bnVsbCwidHRsSW50ckJrU3R0bG1BbXQiOnsidmFsdWUiOjEwLjQ1LCJjY3kiOiJVU0QifSwiaW50ckJrU3R0bG1EdCI6IjIwMjMtMDUtMDIiLCJzdHRsbUluZiI6eyJzdHRsbU10ZCI6IkNMUkciLCJzdHRsbUFjY3QiOm51bGwsImNsclN5cyI6bnVsbCwiaW5zdGdSbWJyc21udEFndCI6bnVsbCwiaW5zdGdSbWJyc21udEFndEFjY3QiOm51bGwsImluc3RkUm1icnNtbnRBZ3QiOm51bGwsImluc3RkUm1icnNtbnRBZ3RBY2N0IjpudWxsLCJ0aHJkUm1icnNtbnRBZ3QiOm51bGwsInRocmRSbWJyc21udEFndEFjY3QiOm51bGx9LCJwbXRUcEluZiI6bnVsbCwiaW5zdGdBZ3QiOnsiZmluSW5zdG5JZCI6eyJiaWNmaSI6IklQU1RGUlAwIiwiY2xyU3lzTW1iSWQiOm51bGwsImxlaSI6bnVsbCwibm0iOm51bGwsInBzdGxBZHIiOm51bGwsIm90aHIiOm51bGx9LCJicm5jaElkIjpudWxsfSwiaW5zdGRBZ3QiOnsiZmluSW5zdG5JZCI6eyJiaWNmaSI6IklDU0xHQkwxIiwiY2xyU3lzTW1iSWQiOm51bGwsImxlaSI6bnVsbCwibm0iOm51bGwsInBzdGxBZHIiOm51bGwsIm90aHIiOm51bGx9LCJicm5jaElkIjpudWxsfX0sImNkdFRyZlR4SW5mIjpbeyJwbXRJZCI6eyJpbnN0cklkIjpudWxsLCJlbmRUb0VuZElkIjoiMmFkYzA3ZWQtMjZiYi00YmM4LTg1YTMtZTAwYTUzYWJhODhlIiwidHhJZCI6IjIwNzY2ZTY4LWI5YTgtNDg3ZC04ZjI0LWEyNzg0ZjQxODRmZiIsInVldHIiOiJkM2VkOWYwZi1jNjk4LTRlZGUtOWYxZi1hNDU2NjNkZjkwYzAiLCJjbHJTeXNSZWYiOiI1MGIwODNhMC1mMmFlLTQyMGMtODExMC0wZDUxZjRkNDMwOTAifSwicG10VHBJbmYiOm51bGwsImludHJCa1N0dGxtQW10Ijp7InZhbHVlIjoxMC40NSwiY2N5IjoiVVNEIn0sImludHJCa1N0dGxtRHQiOm51bGwsInN0dGxtUHJ0eSI6bnVsbCwic3R0bG1UbUluZGN0biI6bnVsbCwic3R0bG1UbVJlcSI6bnVsbCwiYWNjcHRuY0R0VG0iOiIyMDIzLTA1LTAyVDA5OjI5OjU0LjQ2MjczNloiLCJwb29sZ0FkanN0bW50RHQiOm51bGwsImluc3RkQW10IjpudWxsLCJ4Y2hnUmF0ZSI6bnVsbCwiY2hyZ0JyIjpudWxsLCJjaHJnc0luZiI6W10sInBydnNJbnN0Z0FndDEiOm51bGwsInBydnNJbnN0Z0FndDFBY2N0IjpudWxsLCJwcnZzSW5zdGdBZ3QyIjpudWxsLCJwcnZzSW5zdGdBZ3QyQWNjdCI6bnVsbCwicHJ2c0luc3RnQWd0MyI6bnVsbCwicHJ2c0luc3RnQWd0M0FjY3QiOm51bGwsImluc3RnQWd0IjpudWxsLCJpbnN0ZEFndCI6bnVsbCwiaW50cm15QWd0MSI6bnVsbCwiaW50cm15QWd0MUFjY3QiOm51bGwsImludHJteUFndDIiOm51bGwsImludHJteUFndDJBY2N0IjpudWxsLCJpbnRybXlBZ3QzIjpudWxsLCJpbnRybXlBZ3QzQWNjdCI6bnVsbCwidWx0bXREYnRyIjpudWxsLCJpbml0Z1B0eSI6bnVsbCwiZGJ0ciI6eyJubSI6ImM4YTExMWI0LWUzNTktNGNjNi04ZmQ4LWVlMTRkYWRlMmMzMyIsInBzdGxBZHIiOm51bGwsImlkIjpudWxsLCJjdHJ5T2ZSZXMiOm51bGwsImN0Y3REdGxzIjpudWxsfSwiZGJ0ckFjY3QiOnsiaWQiOnsiaWJhbiI6IkdCMjZNSURMNDAwNTE1MTIzNDU2NzQiLCJvdGhyIjpudWxsfSwidHAiOm51bGwsImNjeSI6IkVVUiIsIm5tIjpudWxsLCJwcnh5IjpudWxsfSwiZGJ0ckFndCI6eyJmaW5JbnN0bklkIjp7ImJpY2ZpIjoiSUNTTEdCTDEiLCJjbHJTeXNNbWJJZCI6bnVsbCwibGVpIjpudWxsLCJubSI6bnVsbCwicHN0bEFkciI6bnVsbCwib3RociI6bnVsbH0sImJybmNoSWQiOm51bGx9LCJkYnRyQWd0QWNjdCI6bnVsbCwiY2R0ckFndCI6eyJmaW5JbnN0bklkIjp7ImJpY2ZpIjoiSUNTTEdCTDIiLCJjbHJTeXNNbWJJZCI6bnVsbCwibGVpIjpudWxsLCJubSI6bnVsbCwicHN0bEFkciI6bnVsbCwib3RociI6bnVsbH0sImJybmNoSWQiOm51bGx9LCJjZHRyQWd0QWNjdCI6bnVsbCwiY2R0ciI6eyJubSI6IjNiYTkzYzE1LWU2OGEtNDMyZS1hN2Q3LWY1MDAwM2EwMjQzMCIsInBzdGxBZHIiOm51bGwsImlkIjpudWxsLCJjdHJ5T2ZSZXMiOm51bGwsImN0Y3REdGxzIjpudWxsfSwiY2R0ckFjY3QiOnsiaWQiOnsiaWJhbiI6IkdCMjZNSURMNDAwNTE1MTIzNDU2NzUiLCJvdGhyIjpudWxsfSwidHAiOm51bGwsImNjeSI6IkVVUiIsIm5tIjpudWxsLCJwcnh5IjpudWxsfSwidWx0bXRDZHRyIjpudWxsLCJpbnN0ckZvckNkdHJBZ3QiOltdLCJpbnN0ckZvck54dEFndCI6W10sInB1cnAiOm51bGwsInJnbHRyeVJwdGciOltdLCJ0YXgiOm51bGwsInJsdGRSbXRJbmYiOltdLCJybXRJbmYiOm51bGwsInNwbG10cnlEYXRhIjpbXX1dLCJzcGxtdHJ5RGF0YSI6W119LCJwYXltZW50Sm91cm5leVR5cGUiOiJQQVlNRU5UIn0=", "$type" : "00" }
            },
            "persistenceId" : "Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e",
            "sequenceNumber" : 1,
            "tags" : [
                "tag-1"
            ],
            "timestamp" : 0,
            "writerUuid" : "321bb2db-e5b4-46ec-b12a-e28306274017"
        }
    ],
    "hiSeq" : 1,
    "loSeq" : 1,
    "persistenceId" : "Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e",
    "deletedAt" : "2024-07-03T14:43:23.696Z)",
    "ttl" : 2592000
}
EventPayload (Decoded)
{
  "createdAt": "2023-05-02T09:29:54.678178Z",
  "originalCommandId": "HandleInitiateTest|3344af50-d78b-4349-bd3a-a4840da31a8b|d381c453-6398-4d3a-93a9-d5abe3786ba7",
  "status": {
    "originatingStatus": "Initial",
    "resultingStatus": "State1",
    "globalStatus": "PENDING"
  },
  "eventId": "Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e|1",
  "processingContext": {
    "associationId": "Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e",
    "unitOfWorkId": "bf6e2480-d7e5-4b61-a8a2-03510522a3a1",
    "clientRequestId": "62a9b79c-58c8-4544-b271-7ce94fd7c579",
    "processingEntity": "UNKNOWN"
  },
  "initiatingId": "639d8fdd-acc9-4086-ab69-1c350e1ef70e",
  "causedByEventId": null,
  "responseCode": null,
  "originalResponseCode": null,
  "reasonCode": null,
  "originalReasonCode": null,
  "reasonText": null,
  "originalReasonText": null,
  "hash": "-51345060",
  "failureResponse": false,
  "customerCreditTransfer": null,
  "myTran": {
    "grpHdr": {
      "msgId": "c08cd6e0-0283-4451-b03e-3df9c123dadf",
      "creDtTm": "2023-05-02T09:29:54.454352Z",
      "btchBookg": null,
      "nbOfTxs": "1",
      "ctrlSum": null,
      "ttlIntrBkSttlmAmt": {
        "value": 10.45,
        "ccy": "USD"
      },
      "intrBkSttlmDt": "2023-05-02",
      "sttlmInf": {
        "sttlmMtd": "CLRG",
        "sttlmAcct": null,
        "clrSys": null,
        "instgRmbrsmntAgt": null,
        "instgRmbrsmntAgtAcct": null,
        "instdRmbrsmntAgt": null,
        "instdRmbrsmntAgtAcct": null,
        "thrdRmbrsmntAgt": null,
        "thrdRmbrsmntAgtAcct": null
      },
      "pmtTpInf": null,
      "instgAgt": {
        "finInstnId": {
          "bicfi": "IPSTFRP0",
          "clrSysMmbId": null,
          "lei": null,
          "nm": null,
          "pstlAdr": null,
          "othr": null
        },
        "brnchId": null
      },
      "instdAgt": {
        "finInstnId": {
          "bicfi": "ICSLGBL1",
          "clrSysMmbId": null,
          "lei": null,
          "nm": null,
          "pstlAdr": null,
          "othr": null
        },
        "brnchId": null
      }
    },
    "cdtTrfTxInf": [
      {
        "pmtId": {
          "instrId": null,
          "endToEndId": "2adc07ed-26bb-4bc8-85a3-e00a53aba88e",
          "txId": "20766e68-b9a8-487d-8f24-a2784f4184ff",
          "uetr": "d3ed9f0f-c698-4ede-9f1f-a45663df90c0",
          "clrSysRef": "50b083a0-f2ae-420c-8110-0d51f4d43090"
        },
        "pmtTpInf": null,
        "intrBkSttlmAmt": {
          "value": 10.45,
          "ccy": "USD"
        },
        "intrBkSttlmDt": null,
        "sttlmPrty": null,
        "sttlmTmIndctn": null,
        "sttlmTmReq": null,
        "accptncDtTm": "2023-05-02T09:29:54.462736Z",
        "poolgAdjstmntDt": null,
        "instdAmt": null,
        "xchgRate": null,
        "chrgBr": null,
        "chrgsInf": [],
        "prvsInstgAgt1": null,
        "prvsInstgAgt1Acct": null,
        "prvsInstgAgt2": null,
        "prvsInstgAgt2Acct": null,
        "prvsInstgAgt3": null,
        "prvsInstgAgt3Acct": null,
        "instgAgt": null,
        "instdAgt": null,
        "intrmyAgt1": null,
        "intrmyAgt1Acct": null,
        "intrmyAgt2": null,
        "intrmyAgt2Acct": null,
        "intrmyAgt3": null,
        "intrmyAgt3Acct": null,
        "ultmtDbtr": null,
        "initgPty": null,
        "dbtr": {
          "nm": "c8a111b4-e359-4cc6-8fd8-ee14dade2c33",
          "pstlAdr": null,
          "id": null,
          "ctryOfRes": null,
          "ctctDtls": null
        },
        "dbtrAcct": {
          "id": {
            "iban": "GB26MIDL40051512345674",
            "othr": null
          },
          "tp": null,
          "ccy": "EUR",
          "nm": null,
          "prxy": null
        },
        "dbtrAgt": {
          "finInstnId": {
            "bicfi": "ICSLGBL1",
            "clrSysMmbId": null,
            "lei": null,
            "nm": null,
            "pstlAdr": null,
            "othr": null
          },
          "brnchId": null
        },
        "dbtrAgtAcct": null,
        "cdtrAgt": {
          "finInstnId": {
            "bicfi": "ICSLGBL2",
            "clrSysMmbId": null,
            "lei": null,
            "nm": null,
            "pstlAdr": null,
            "othr": null
          },
          "brnchId": null
        },
        "cdtrAgtAcct": null,
        "cdtr": {
          "nm": "3ba93c15-e68a-432e-a7d7-f50003a02430",
          "pstlAdr": null,
          "id": null,
          "ctryOfRes": null,
          "ctctDtls": null
        },
        "cdtrAcct": {
          "id": {
            "iban": "GB26MIDL40051512345675",
            "othr": null
          },
          "tp": null,
          "ccy": "EUR",
          "nm": null,
          "prxy": null
        },
        "ultmtCdtr": null,
        "instrForCdtrAgt": [],
        "instrForNxtAgt": [],
        "purp": null,
        "rgltryRptg": [],
        "tax": null,
        "rltdRmtInf": [],
        "rmtInf": null,
        "splmtryData": []
      }
    ],
    "splmtryData": []
  },
  "paymentJourneyType": "PAYMENT"
}

Indexes

Below are the indexes for the journal collection:

Index Name Fields Description

_id_

_id (ascending)

ObjectId field generated by MongoDB.

journal_tag_index_mongodb

_id (ascending) - eventPayloads.tags (ascending) - loSeq (ascending)

Used when searching based on tags.

akka_persistence_deleted_events_journal_index

persistenceId (ascending) - eventPayloads.deleted (ascending) - sequenceNumber (ascending)

Used when deleting entries from the journal.

akka_persistence_high_low_seq_journal_index

persistenceId (ascending) - loSeq (ascending) - hiSeq (ascending)

Used when searching for events based on the persistenceId and sequence numbers.

Snapshot

Fields

Below are the fields for the snapshot collection:

Field Description Example

persistenceId

A unique identifier generated by IPF flows to identity actors, usually consisting of: <flo_name>|<random_id>

Test|639d8fdd-acc9-4086-ab69-1c350e1ef70e

sequenceNumber

The sequence number when the snapshot was taken.

1

timestamp

The time the snapshot was stored.

1683111720000

insertedAt

The datetime the snapshot was stored.

2024-07-03T14:43:23.696Z

snapshot

Contains a view of the transaction state at a point in time, that can be used for quicker recovery.

Example Record

{
    "_id" : "64525c2f223e11178233c24e",
    "persistenceId" : "Test|df7b1126-cce8-4fdc-adc4-647344465bdc",
    "sequenceNumber" : 2,
    "snapshot" : {
        "type" : "com.iconsolutions.ipf.test.model.test.behaviour.TestAggregate",
        "value" : { "$binary" : "eyJpZCI6eyJ0eXBlIjoidGVzdElkIiwiaWQiOiJUZXN0fGRmN2IxMTI2LWNjZTgtNGZkYy1hZGM0LTY0NzM0NDQ2NWJkYyJ9LCJjcmVhdGVkQXQiOm51bGwsImluaXRpYXRpbmdJZCI6ImRmN2IxMTI2LWNjZTgtNGZkYy1hZGM0LTY0NzM0NDQ2NWJkYyIsImNhbGxpbmdGbG93SWQiOm51bGwsInN0YXR1cyI6IlNUQVRFMiIsImFjdGlvblJldHJpZXMiOnt9LCJwcmV2aW91c1N0YXR1cyI6IlNUQVRFMSIsImN1cnJlbnRSZWFzb25Db2RlIjpudWxsLCJjdXN0b21lckNyZWRpdFRyYW5zZmVyIjpudWxsLCJteVRyYW4iOnsiZ3JwSGRyIjp7Im1zZ0lkIjoiYzVlYzdjMzAtMDliMC00ZWI0LTk0NzQtODViNDVkYzRlNjYwIiwiY3JlRHRUbSI6IjIwMjMtMDUtMDNUMTM6MDU6NTAuNzg2NzY1WiIsImJ0Y2hCb29rZyI6bnVsbCwibmJPZlR4cyI6IjEiLCJjdHJsU3VtIjpudWxsLCJ0dGxJbnRyQmtTdHRsbUFtdCI6eyJ2YWx1ZSI6MTAuNDUsImNjeSI6IlVTRCJ9LCJpbnRyQmtTdHRsbUR0IjoiMjAyMy0wNS0wMyIsInN0dGxtSW5mIjp7InN0dGxtTXRkIjoiQ0xSRyIsInN0dGxtQWNjdCI6bnVsbCwiY2xyU3lzIjpudWxsLCJpbnN0Z1JtYnJzbW50QWd0IjpudWxsLCJpbnN0Z1JtYnJzbW50QWd0QWNjdCI6bnVsbCwiaW5zdGRSbWJyc21udEFndCI6bnVsbCwiaW5zdGRSbWJyc21udEFndEFjY3QiOm51bGwsInRocmRSbWJyc21udEFndCI6bnVsbCwidGhyZFJtYnJzbW50QWd0QWNjdCI6bnVsbH0sInBtdFRwSW5mIjpudWxsLCJpbnN0Z0FndCI6eyJmaW5JbnN0bklkIjp7ImJpY2ZpIjoiSVBTVEZSUDAiLCJjbHJTeXNNbWJJZCI6bnVsbCwibGVpIjpudWxsLCJubSI6bnVsbCwicHN0bEFkciI6bnVsbCwib3RociI6bnVsbH0sImJybmNoSWQiOm51bGx9LCJpbnN0ZEFndCI6eyJmaW5JbnN0bklkIjp7ImJpY2ZpIjoiSUNTTEdCTDEiLCJjbHJTeXNNbWJJZCI6bnVsbCwibGVpIjpudWxsLCJubSI6bnVsbCwicHN0bEFkciI6bnVsbCwib3RociI6bnVsbH0sImJybmNoSWQiOm51bGx9fSwiY2R0VHJmVHhJbmYiOlt7InBtdElkIjp7Imluc3RySWQiOm51bGwsImVuZFRvRW5kSWQiOiI2MzAxZGMwOC01ZDhlLTRhNjAtYTI1Ny02MzlmYzI5N2ZmNTciLCJ0eElkIjoiZjRkZDk4NWUtN2JiNi00ZTFmLWJlZTktYzU3NWQxMTU0M2ViIiwidWV0ciI6IjBiYTU1MWRlLTRkMjQtNGRjZC1iOTgwLTE0OWNkOTYxZWVhNSIsImNsclN5c1JlZiI6IjVjYWYyZjBjLWExNmEtNDYxNS1iNjllLTQ2MzJjYzhlMjY4ZCJ9LCJwbXRUcEluZiI6bnVsbCwiaW50ckJrU3R0bG1BbXQiOnsidmFsdWUiOjEwLjQ1LCJjY3kiOiJVU0QifSwiaW50ckJrU3R0bG1EdCI6bnVsbCwic3R0bG1QcnR5IjpudWxsLCJzdHRsbVRtSW5kY3RuIjpudWxsLCJzdHRsbVRtUmVxIjpudWxsLCJhY2NwdG5jRHRUbSI6IjIwMjMtMDUtMDNUMTM6MDU6NTAuNzkwMzQ2WiIsInBvb2xnQWRqc3RtbnREdCI6bnVsbCwiaW5zdGRBbXQiOm51bGwsInhjaGdSYXRlIjpudWxsLCJjaHJnQnIiOm51bGwsImNocmdzSW5mIjpbXSwicHJ2c0luc3RnQWd0MSI6bnVsbCwicHJ2c0luc3RnQWd0MUFjY3QiOm51bGwsInBydnNJbnN0Z0FndDIiOm51bGwsInBydnNJbnN0Z0FndDJBY2N0IjpudWxsLCJwcnZzSW5zdGdBZ3QzIjpudWxsLCJwcnZzSW5zdGdBZ3QzQWNjdCI6bnVsbCwiaW5zdGdBZ3QiOm51bGwsImluc3RkQWd0IjpudWxsLCJpbnRybXlBZ3QxIjpudWxsLCJpbnRybXlBZ3QxQWNjdCI6bnVsbCwiaW50cm15QWd0MiI6bnVsbCwiaW50cm15QWd0MkFjY3QiOm51bGwsImludHJteUFndDMiOm51bGwsImludHJteUFndDNBY2N0IjpudWxsLCJ1bHRtdERidHIiOm51bGwsImluaXRnUHR5IjpudWxsLCJkYnRyIjp7Im5tIjoiNDY2YTNhM2EtOTk4My00NmM0LTg4OGItMzk1ZGE3ZGQ5N2IxIiwicHN0bEFkciI6bnVsbCwiaWQiOm51bGwsImN0cnlPZlJlcyI6bnVsbCwiY3RjdER0bHMiOm51bGx9LCJkYnRyQWNjdCI6eyJpZCI6eyJpYmFuIjoiR0IyNk1JREw0MDA1MTUxMjM0NTY3NCIsIm90aHIiOm51bGx9LCJ0cCI6bnVsbCwiY2N5IjoiRVVSIiwibm0iOm51bGwsInByeHkiOm51bGx9LCJkYnRyQWd0Ijp7ImZpbkluc3RuSWQiOnsiYmljZmkiOiJJQ1NMR0JMMSIsImNsclN5c01tYklkIjpudWxsLCJsZWkiOm51bGwsIm5tIjpudWxsLCJwc3RsQWRyIjpudWxsLCJvdGhyIjpudWxsfSwiYnJuY2hJZCI6bnVsbH0sImRidHJBZ3RBY2N0IjpudWxsLCJjZHRyQWd0Ijp7ImZpbkluc3RuSWQiOnsiYmljZmkiOiJJQ1NMR0JMMiIsImNsclN5c01tYklkIjpudWxsLCJsZWkiOm51bGwsIm5tIjpudWxsLCJwc3RsQWRyIjpudWxsLCJvdGhyIjpudWxsfSwiYnJuY2hJZCI6bnVsbH0sImNkdHJBZ3RBY2N0IjpudWxsLCJjZHRyIjp7Im5tIjoiYWQ4OWM4ZDctOGRjYS00MzkwLWFlYmMtYmE1NWU3NWUwZjNjIiwicHN0bEFkciI6bnVsbCwiaWQiOm51bGwsImN0cnlPZlJlcyI6bnVsbCwiY3RjdER0bHMiOm51bGx9LCJjZHRyQWNjdCI6eyJpZCI6eyJpYmFuIjoiR0IyNk1JREw0MDA1MTUxMjM0NTY3NSIsIm90aHIiOm51bGx9LCJ0cCI6bnVsbCwiY2N5IjoiRVVSIiwibm0iOm51bGwsInByeHkiOm51bGx9LCJ1bHRtdENkdHIiOm51bGwsImluc3RyRm9yQ2R0ckFndCI6W10sImluc3RyRm9yTnh0QWd0IjpbXSwicHVycCI6bnVsbCwicmdsdHJ5UnB0ZyI6W10sInRheCI6bnVsbCwicmx0ZFJtdEluZiI6W10sInJtdEluZiI6bnVsbCwic3BsbXRyeURhdGEiOltdfV0sInNwbG10cnlEYXRhIjpbXX0sInBheW1lbnRKb3VybmV5VHlwZSI6IlBBWU1FTlQiLCJmYWlsdXJlRXZlbnROYW1lIjpudWxsLCJmYWlsdXJlUmVzcG9uc2VDb2RlIjpudWxsLCJmYWlsdXJlUmVhc29uQ29kZSI6bnVsbCwiZmFpbHVyZVJlYXNvblRleHQiOm51bGwsImZhaWx1cmVPcmlnaW5hbFJlc3BvbnNlQ29kZSI6bnVsbCwiZmFpbHVyZU9yaWdpbmFsUmVhc29uQ29kZSI6bnVsbCwiZmFpbHVyZU9yaWdpbmFsUmVhc29uVGV4dCI6bnVsbCwiZmxvd0luaXRpYXRlZEV2ZW50IjpudWxsLCJldmVudDFFdmVudCI6bnVsbCwiYWRkRXZlbnQxRXZlbnQiOm51bGwsImV2ZW50MkV2ZW50IjpudWxsLCJwcm9jZXNzaW5nQ29udGV4dCI6eyJhc3NvY2lhdGlvbklkIjoiVGVzdHxkZjdiMTEyNi1jY2U4LTRmZGMtYWRjNC02NDczNDQ0NjViZGMiLCJ1bml0T2ZXb3JrSWQiOiJjODYxNzM1MS1iZTljLTQ0YTAtYjM1MS1kNjc0ZDc1ZmQ5NTciLCJjbGllbnRSZXF1ZXN0SWQiOiIzN2JmNjgwMC0zMjUyLTRhOGMtYjZmNy02OGNmZDJjODNkNmMiLCJwcm9jZXNzaW5nRW50aXR5IjoiVU5LTk9XTiJ9LCJiZWhhdmlvdXJOYW1lIjoiVGVzdCIsImZsb3dOYW1lIjoiVGVzdCIsImJlaGF2aW91cklkIjp7ImVudGl0eVR5cGVOYW1lIjoiVGVzdCIsImVudGl0eUlkIjoiZGY3YjExMjYtY2NlOC00ZmRjLWFkYzQtNjQ3MzQ0NDY1YmRjIn19", "$type" : "00" }
    },
    "timestamp" : 1683119151521
}

Indexes

Below are the indexes for the snapshot collection:

Index Name Fields Description

_id_

_id (ascending)

ObjectId field generated by MongoDB.

persistenceId_1_sequenceNumber_1_timestamp_1

persistenceId (ascending) - sequenceNumber (ascending) - timestamp (ascending)

Used when searching for the events to recover based on a sequence number.