> On Sept. 24, 2016, 11:59 p.m., Alexander Kolbasov wrote: > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HMSFollower.java, > > lines 215-216 > > <https://reviews.apache.org/r/52138/diff/3/?file=1509069#file1509069line215> > > > > fullUpdateComplete variable is only used inside HMSFollower class - I > > would consider moving it inside and making it private. Since it is accessed > > by a single executor thread only there is no need to make it atomic > > (although this wouldn't hurt). > > Hao Hao wrote: > I do not think we shoud change from atomic to non-atomic. > fullUpdateComplete is a shared flag between main thread and HMSFollower. Once > fullUpdateComplete is true, which means full update is complete, HMSFollower > should not retrieve full update again. > > Alexander Kolbasov wrote: > Keeping it atomic is fine. But it seems that fullUpdateComplete isn't > actually shared - it is only used by HMSFollower thread. That's why I > suggested moving the variable inside HMSFollower class. > > Hao Hao wrote: > I see, will change it accordingly.
actually fullUpdateComplete is also used in SentryService as a centralized place to share with all HMSFollower threads. Though HMSFollowers are not sharing it at the same time as only 1 HMSFollower is running at certain time, it is a state shared by all HMSFollower threads. The new HMSFollower thread can decide whether need a full update or not, according to the value of fullUpdateComplete updated by the last HMSFollower thread. - Li ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/52138/#review150322 ----------------------------------------------------------- On Oct. 6, 2016, 10:22 p.m., Hao Hao wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/52138/ > ----------------------------------------------------------- > > (Updated Oct. 6, 2016, 10:22 p.m.) > > > Review request for sentry, Alexander Kolbasov, Anne Yu, Li Li, and Sravya > Tirukkovalur. > > > Repository: sentry > > > Description > ------- > > SENTRY-1463: Ensure HMS point-in-time snapshot consistency > > The implemented logic is: > 1. Read current HMS notification ID_initial > 2. Read HMS metadata state > 3. Read current notification ID_new > 4. If ID_initial != ID_new then discard the current state and goto 1. > > Use configurable property: sentry.hms.snapshot.retries.max.count for max > number of retry. > > Change-Id: I7590076b875bd97b2fb340008926ea5995896d72 > > > Diffs > ----- > > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HMSFollower.java > 89892924839df8058ea82e7819973d576420f578 > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java > 9e9358b8bdcfb4177d0320da26739d990d287f09 > > Diff: https://reviews.apache.org/r/52138/diff/ > > > Testing > ------- > > > Thanks, > > Hao Hao > >
