Hi @dom1. Welcome to the Pinecone forum!
Pinecone is an eventually consistent database, so there’s always going to be some amount of time between when you add records and when those records can be queried. Check out our Serverless architecture documentation to learn more about what’s happening during that delay. In general, a new record should be available within seconds due to the freshness layer, which ensures that data is available before it has been fully indexed. How long are the delays you’re seeing?
If it’s essential for your use case to lock reads (queries) until you can ensure data is available, we recommend either fetching by the ID of the record or comparing the LSN of the write to the LSN of a query. Every operation gets an LSN (log sequence number), and they are monotonically increasing, so as soon as the LSN of the query is higher than the LSN of the write, your data is available.
I hope that helps. Please let me know.
Best wishes,
Jesse