Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"latest" distribution not working properly working on update (or when transaction disabled also on insert) #640

Open
daschl opened this issue Mar 2, 2016 · 2 comments

Comments

@daschl
Copy link
Contributor

daschl commented Mar 2, 2016

Hi folks,

while looking at different distributions I noticed that the "latest" distribution only works properly on insert, not on update. Specifically, in the CoreWorkload the acknowledge is only called on insert, which means next keynum won't move forward properly on update.

I think it makes total sense to have the "latest" distribution also work on update, consider the use case where you are replacing a document in the database (which makes it likely being used right now) and soon afterwards you need to retrieve it back.

Also, relatedly I noticed that only if doTransactions is active it will perform the acknowledge too, I believe it also needs to be done in the non-transactional case. At least thats how it is now done on the YCSB/YCSB fork.

Is that a reasonable request?

@busbey
Copy link
Collaborator

busbey commented Mar 2, 2016

I think it makes total sense to have the "latest" distribution also work on update, consider the use
case where you are replacing a document in the database (which makes it likely being used right
now) and soon afterwards you need to retrieve it back.

Yeah, that makes sense. Any impact on existing workload uses if we start calling acknowledge in update?

Also, relatedly I noticed that only if doTransactions is active it will perform the acknowledge too, I
believe it also needs to be done in the non-transactional case.

I thought doTransactions was only false during the "load" mode. Is that not correct? When doing inserts do we actually use the latest distribution?

@daschl
Copy link
Contributor Author

daschl commented Mar 3, 2016

Yeah, that makes sense. Any impact on existing workload uses if we start calling acknowledge in update?

The impact I can think of is that new measurements will differ from the existing ones, since the load pattern against the database changes slightly. My guess is that you'd mostly see it with cache oriented databases, and there the effect will be better numbers on update since most of them rely on a LRU-like pattern. Since you've written it moments ago it is still likely in the cache and quick to pick out.

I thought doTransactions was only false during the "load" mode. Is that not correct? When doing inserts do we actually use the latest distribution?

Ah okay, I wasn't aware of that. If this is the case then you can ignore this part of my request ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants