Previous | Next --- Slide 17 of 79
Back to Lecture Thumbnails
l-henken

If the STM write data validation fails, does the calling transaction abort to allow the lock holder to commit?

jgrace

@I-henken, yes I think the write would abort to allow the lock holder to commit rather than wait to acquire the lock. The write would restart after aborting though. All writes are automatically locked, so to update a transactional object, the lock for the object is either acquired or the write fails immediately. Maybe others could confirm this

teapot

@jgrace, I don't think the write will necessarily restart after aborting. The write can restart if the lock is locked. But if the data version > local timestamp, I think the the entire transaction needs to be either abort or replayed, or otherwise we are overwriting newer data?

wanze

Here do we abort if we find data version <= local timestamp when validating? If so, what do we return in such case?

wanze

Also isn't it optimistic read here? Shoudn't we validate read when committing instead of in the read function here?

timothyyeo

@wanze I'm also curious why we are validating the read set for the optimistic read...

blipblop

@wanze @timothyyeo Same here

Please log in to leave a comment.