Description:
We’ve observed an inconsistency in schema validation for timestamp fields between insertion and query operations in Weaviate.
Details:
- Our schema includes a
created_date
property (type:date
/timestamp
) - An object was successfully inserted with the timestamp:
2025-06-09T11:30:45.578126325Z
(note the 9-digit microseconds) - During querying/retrieval, the system performs strict format validation requiring microseconds to be ≤6 digits
- This mismatch causes a
ValueError
during retrieval despite successful insertion
Expected Behavior:
We would expect either:
a) Consistent validation (rejecting >6 digit microseconds at insertion), or
b) Consistent handling (accepting the format at both insertion and query)
Impact:
This creates potential data consistency issues where:
- Data appears valid during insertion
- Becomes inaccessible during querying
- May require manual data cleanup
Environment:
Weaviate version - 1.28.11
Python client version - 4.5.7
Reproduction Steps:
- Create collection with timestamp property
- Insert object with timestamp containing >6 digit microseconds
- Attempt to query the object
Exception
ValueError: time data ‘2025-06-09T11:30:45.578126325Z’ does not match format ‘%Y-%m-%dT%H:%M:%S.%f%z’
Question
From JDK17 , the Instant.Now() from java.time util return datetime with 9-digit microseconds.
We get this error from that data only. Is this a issue from python’s datetime module?