Okay so I understand the reasons for soft-deletes (caching) and that normally, the tombstone left behind from hard-deletes preventing re-creating that stream (caching again).
Like a few other questioneers, my use-case is for resetting a db in QA scenarios. Rather than stop the service, delete the entire /data directory and fire it up again (which will require re-setting the admin password etc), I’d like to use the new “unsafe-ignore-hard-deletes” option (see https://groups.google.com/d/msg/event-store/dF48Hk2QOhY/SYaqlB_vGAAJ and https://github.com/EventStore/EventStore/pull/853/commits/e36d9797764a99a19412bd2f8e7c9914dbf5cefb for more information).
However, I have a few questions about it’s usage:
- If I hard-delete a stream before enabling this option, will subsequent scavenging operations still go back and delete the tombstones of those hard-deleted streams?
- Having hard-deleted a stream and run the scavenging operation, do I really need to stop the node, delete it’s index directory, and re-start the node, or can I just re-create the stream straightaway after the scavenging is complete?
- If so, then assuming a clustered environment, is it okay to repeat this for each node rather than bringing them all down at once?