Closed
Description
Describe the bug
If record key has "/" the update method fails, but insert, query, and delete methods succeed.
This doesn't seem like it should be expected but let me know if it is.
To Reproduce
Steps to reproduce the behavior:
service.kvstore.create("test")
col = service.kvstore['test']
bad_key = "01:/i-001"
record = json.dumps({"_key":bad_key, "foo":"bar"})
record_update = json.dumps({"foo":"baz"})
query_key=json.dumps({"_key": bad_key})
# insert succeeds
col.data.insert(record)
# update fails
col.data.update(bad_key, record_update)
# query_by_id fails with 404
col.data.query_by_id(bad_key)
# regular query succeeds
col.data.query(query_key)
# delete_by_id fails with 404
col.data.delete_by_id(bad_key)
# delete succeeds
col.data.delete(query_key)
print(col.data.query())
Expected behavior
To my understanding all these calls should succeed - the inconsistency is very confusing.
None of these calls should return HTTP 404
All statements succeed if bad_key does not contain "/"
Splunk (please complete the following information):
- Version: 8.0.7
- Docker Image 1d4750df3f5d
- Deployment: single-instance
SDK (please complete the following information):
- Version: 1.6.14
- Language Runtime Version: Python 3.7
- OS: Mac 10.15.7
Metadata
Metadata
Assignees
Labels
No labels