Hi team,
I am testing the ledger pruning, using a sample canton setup, using the code in Operational Processes — Daml SDK 2.2.0 documentation and it works after tuning some timers (max deduplication, etc). From the log I see the pruning seems working well. (some lines from the log are shown here)
2022-05-19 15:45:32,759 [daml.index.db.threadpool.connection.api-server-2] INFO c.d.p.s.b.h2.H2EventStorageBackend - Immediate divulgence events pruning finished: deleted 1 rows., context: {participant: "participant2", submissionId: "7cc0c31f-b641-4a13-87e6-6579f647e643"}
2022-05-19 15:45:32,759 [daml.index.db.threadpool.connection.api-server-2] INFO c.d.p.s.b.h2.H2EventStorageBackend - Exercise (consuming) events pruning finished: deleted 1 rows., context: {participant: "participant2", submissionId: "7cc0c31f-b641-4a13-87e6-6579f647e643"}
2022-05-19 15:45:32,760 [daml.index.db.threadpool.connection.api-server-2] INFO c.d.p.s.b.h2.H2EventStorageBackend - Exercise (non-consuming) events pruning finished: deleted 0 rows., context: {participant: "participant2", submissionId: "7cc0c31f-b641-4a13-87e6-6579f647e643"}
2022-05-19 15:45:32,760 [daml.index.db.threadpool.connection.api-server-2] INFO c.d.p.s.b.c.CompletionStorageBackendTemplate - Command completions pruning finished: deleted 1 rows., context: {participant: "participant2", submissionId: "7cc0c31f-b641-4a13-87e6-6579f647e643"}
However, after the pruning is done, the navigator can no longer show any active contracts. Besides, the grpcurl
I was using for dump transactions also gets some error message
grpcurl -plaintext -d '{"ledgerId":"participant2","filter":{"filtersByParty":{"Bob::1220e0acfc323885c6eb786ce652ea5d58e886c1cfff3e7337767dcfd7f7931eecc0":{}}},"begin":{"boundary":"LEDGER_BEGIN"}}' localhost:5021 com.daml.ledger.api.v1.TransactionService/GetTransactionTrees
ERROR:
Code: FailedPrecondition
Message: PARTICIPANT_PRUNED_DATA_ACCESSED(9,0): Transactions request from to 00000000000000000a precedes pruned offset 000000000000000009
Details:
1) {"@error":"google.rpc.ErrorInfo is not recognized; see @value for raw binary message data","@type":"type.googleapis.com/google.rpc.ErrorInfo","@value":"CiBQQVJUSUNJUEFOVF9QUlVORURfREFUQV9BQ0NFU1NFRBodCgtwYXJ0aWNpcGFudBIOJ3BhcnRpY2lwYW50MicaJQoPZWFybGllc3Rfb2Zmc2V0EhIwMDAwMDAwMDAwMDAwMDAwMDkaDQoIY2F0ZWdvcnkSATkaGAoPZGVmaW5pdGVfYW5zd2VyEgVmYWxzZQ=="}
Are these the normal behaviour? What is the best practice that shows the pruning of archived contracts are really gone?
Thanks in advance.
kc