While performing local testing with the online sample here, Jared Casey discovered an error when requesting durability. If we skip the lcb_cmdstore_durability() call or pass in LCB_DURABILITYLEVEL_NONE to lcb_cmdstore_durability() the upsert is a success. However, if we actually request durability we receive an error: LCB_ERR_KVENGINE_INVALID_PACKET (1031).
We have verified this incorrect behavior against both CBS 7.0 and 6.6.2, so it seems related to the version of LCB as opposed to the version of CBS. However, we have also verified this incorrect behavior with LCB 3.2.0 and 3.1.4.
This ticket may need more grooming after the root cause is determined, but we also need to verify unit and integration test coverage so it cannot happen again.
- Resolve durability error and verify behavior works as expected again per current documentation.
- Verify samples or examples work as expected without any additional changes required.
- Add or verify unit and integration test coverage for LCB and downstream components (if applicable) to be sure we don't introduce a regression on the expected behavior in the future.