# Getting Unable to parse hex string to integer error at delete\_many function

**URL:** <https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195>\
**Category:** Support\
**Tags:** bug, developer-experience\
**Created:** [December 18, 2025, 3:36pm UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195 "2025-12-18T15:36:25Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)\
**Post date:** [December 18, 2025, 3:36pm UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/1 "2025-12-18T15:36:26Z")

</div>

### Description

Deleting objects based on property of string type with verbose set to True return WeaviateDeleteManyError

```auto
tenant.data.delete_many(
    where=Filter.by_property(name="document_id").equal("Document_12345"),
dry_run=False, verbose=True)

```

Throws  
**WeaviateDeleteManyError: Query call with protocol GRPC delete failed with message batch delete reply: failed to parse hex string to integer.**

### Server Setup Information

- Weaviate Server Version: 1.32.8
- Deployment Method: Kubenetes
- Multi Node? Number of Running Nodes: 6
- Client Language and Version: v4.5.7
- Multitenancy?: Yes

### Any additional Information

We face the error only when verbose=True, as per our finding, the issue is at **batchDeleteReplyFromObjects** which try to convert object uuid to hexadecimal to send in the grpc response.

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [December 19, 2025, 1:27pm UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/2 "2025-12-19T13:27:50Z")

</div>

Hi!

As per our [release page](https://docs.weaviate.io/weaviate/release-notes), you should be using at least python client version [4.16.x](https://github.com/weaviate/weaviate-python-client/releases/tag/v4.16.0).

Also, try to always be on 1.32.latest on the server (or preferably 1.latest.latest), as we backport the most important fixes.

Do you see any logs on server or the request never even gets there? If the request gets to server, are they deleted before the error on client?

Assuming this is a client error, can you paste the entire traceback?

Thanks for reporting!

---

<div class="post-metadata">

**Author:** ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)\
**Post date:** [December 24, 2025, 11:07am UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/3 "2025-12-24T11:07:33Z")

</div>

Nope @DudaNogueira , this is from server side not from client. This not happen to all batch\_delete calls some cases only.

```auto
Traceback (most recent call last):
  File "/home/xxx/xxx/lib/python3.9/site-packages/weaviate/collections/batch/grpc_batch_delete.py", line 33, in batch_delete
    res, _ = self._connection.grpc_stub.BatchDelete.with_call(
  File "/home/xxx/xxx/lib/python3.9/site-packages/grpc/_channel.py", line 1193, in with_call
    return _end_unary_response_blocking(state, call, True, None)
  File "/home/xxx/xxx/lib/python3.9/site-packages/grpc/_channel.py", line 1005, in _end_unary_response_blocking
    raise _InactiveRpcError(state) # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.UNKNOWN
	details = "batch delete reply: failed to parse hex string to integer"
	debug_error_string = "UNKNOWN:Error received from peer {grpc_message:"batch delete reply: failed to parse hex string to integer", grpc_status:2, created_time:"2025-12-17T07:00:38.049720466+00:00"}"
>

```

I myself added logging in server side using the below code in weaviate/adapters/handlers/grpc/v1/batch\_delete.go

```auto
if verbose {
			uuidStr := obj.UUID.String()
			uuidHex := strings.ReplaceAll(uuidStr, "-", "")

			hexInteger, success := new(big.Int).SetString(uuidHex, 16)
			if !success {
				errMsg := fmt.Sprintf("UUID %q (cleaned=%q len=%d)", uuidStr, uuidHex, len(uuidHex))
				parseErrors = append(parseErrors, errMsg)
				fmt.Printf("batchDeleteReplyFromObjects: failed to parse %s\n", errMsg)
				// Create object with empty UUID for this failed parse
				hexInteger = new(big.Int)
			}
<! Remaining Code ---- >

	// Throw error at the end if there were any parsing errors
	if len(parseErrors) > 0 {
		return reply, fmt.Errorf("batch delete completed with %d UUID parse errors: %v", len(parseErrors), parseErrors)
	}

```

and get the below error response.

```auto
debug_error_string = "UNKNOWN:Error received from peer {created_time:"2025-12-24T07:16:15.566023889+00:00", grpc_status:2, grpc_message:"batch delete reply: batch delete completed with 12 UUID parse errors: [UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0) UUID \"\" (cleaned=\"\" len=0)]"}" 

```

---

<div class="post-metadata">

**Author:** ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)\
**Post date:** [January 27, 2026, 10:12am UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/4 "2026-01-27T10:12:14Z")

</div>

@DudaNogueira Any update on this?

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [January 29, 2026, 2:50pm UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/5 "2026-01-29T14:50:39Z")

</div>

hi @Dharanish !!

Sorry for the delay!

I was not able to reproduce this with this code:

```python
from weaviate import classes as wvc

client.collections.delete("Test")
tenant = client.collections.create(
    name="Test",
    vector_config=wvc.config.Configure.Vectors.text2vec_openai(),
    multi_tenancy_config=wvc.config.Configure.multi_tenancy(enabled=True, auto_tenant_activation=True, auto_tenant_creation=True),
    properties=[
        wvc.config.Property(name="text", data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="document_id", data_type=wvc.config.DataType.TEXT, tokenization=wvc.config.Tokenization.FIELD), 
        ],
).with_tenant("T1")

tenant.data.insert({"text": "This is a test document 1 id Document_12345", "document_id":"Document_12345"}, )
#tenant.with_tenant("T1").data.insert({"text": "This is a test document 2 id Document_12345", "document_id":"Document_12345"}, )

tenant.data.delete_many(
    where=wvc.query.Filter.by_property(name="document_id").equal("Document_12345"),
    verbose=True,
    dry_run=False
)

```

Can you try reproducing it based on this code?

Thanks!

---

<div class="post-metadata">

**Author:** ![Dirk](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dirk/32/46_2.png) [@Dirk](https://forum.weaviate.io/u/Dirk)\
**Post date:** [January 30, 2026, 5:59am UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/6 "2026-01-30T05:59:36Z")

</div>

Hello, did you update your client as advised?

---

<div class="post-metadata">

**Author:** ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)\
**Post date:** [August 31, 2026, 1:00pm UTC](https://forum.weaviate.io/t/getting-unable-to-parse-hex-string-to-integer-error-at-delete-many-function/22195/7 "2026-08-31T13:00:32Z")

</div>

Hi @Dirk , Now getting this issue again with the client v4.20.5  
with verbose=False, getting  
`DeleteManyReturn(failed=2, matches=2, objects=None, successful=0)`

and with verbose=True,  
`weaviate.exceptions.WeaviateDeleteManyError: Query call with protocol GRPC delete failed with message batch delete reply: failed to parse hex string to integer`

Weaviate version - 1.32.27  
python client - v4.20.5
