Skip to content

Amgix v1.3.0

Release of Amgix server v1.3.0 is now available.

Delete Flow Refactor

This release mostly focused on refactoring how document deletion works in the system. Before v1.3.0 there was a single synchronous endpoint to delete documents by ID. This, unfortunately, forced a tight coupling point for the calling application with Amgix. We had to change how document deletion is handled internally and, unfortunately, that forced us to introduce a couple of breaking changes to our API. As a result, we now have a more robust architecture around document deletion, and calling applications can choose between async and sync approach to document deletion.

We also added some metrics to track and expose document deletion metrics on the dashboard and via metrics endpoints.

Here is the list of changes:

  • Breaking change: /v1/collections/{collection_name}/documents/{document_id} endpoint is now asynchronous and requires a request_timestamp parameter. The delete request is queued and processed by index workers. request_timestamp is used to prevent possible race conditions with upserts for the same document.

  • new endpoint for synchronous document deletion: /v1/collections/{collection_name}/documents/{document_id}/sync. It also requires request_timestamp parameter.

  • Breaking change: Document Status and Queue Info endpoints changed shape of returned data to expose the split of upsert/delete queue information.

  • Dashboard: Collections panel shows queue stats breakdown by queue request type (upsert/delete).

  • New metrics for document deletions were added.