Our systems usually work by reading all the data for it's relevant subtree at startup and then wait for changes using read with wait and waitIndex. If this particular subtree has changed little then the modifiedIndexes of the elements in the subtree might be so small that passing them as waitIndex will not work. However we know the latest index at the time of the read is included in the http headers of the read. If we use that index as waitIndex to the read we know we will not miss changes and we are fairly certain that etcd will still have the relevant log. However, to do this we need to get this info out of the library
Our systems usually work by reading all the data for it's relevant subtree at startup and then wait for changes using read with wait and waitIndex. If this particular subtree has changed little then the modifiedIndexes of the elements in the subtree might be so small that passing them as waitIndex will not work. However we know the latest index at the time of the read is included in the http headers of the read. If we use that index as waitIndex to the read we know we will not miss changes and we are fairly certain that etcd will still have the relevant log. However, to do this we need to get this info out of the library