----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/62107/#review184796 -----------------------------------------------------------
This is becoming quite big fix. I think it is better to split it into two independent parts: 1. Refactoring changes affecting the service factory 2. Actual changes for synchronization between components That said, I think that it is possible to have much simpler fix for the original problem that doesn't require any of these changes. The idea is to create a helper singleton class where parties can register (by name) and say - hey, I am busy, hey, I am available - using a simple map from name to atomic value. This way we do not require all these plumbing changes (which may be useful for other purposes but that's another story). - Alexander Kolbasov On Sept. 6, 2017, 11:33 p.m., Brian Towles wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/62107/ > ----------------------------------------------------------- > > (Updated Sept. 6, 2017, 11:33 p.m.) > > > Review request for sentry, Alexander Kolbasov, Arjun Mishra, Na Li, Sergio > Pena, and Vadim Spector. > > > Bugs: SENTRY-1918 > https://issues.apache.org/jira/browse/SENTRY-1918 > > > Repository: sentry > > > Description > ------- > > Converted SentryService to a singleton and have HMSFollower setting a flag > when a full update is running. Set the DBUpdateForwarder to only send back > full updates when then full update is not running. Changed tests and added a > Helper to support the new singleton. > > > Diffs > ----- > > > sentry-hdfs/sentry-hdfs-service/src/main/java/org/apache/sentry/hdfs/DBUpdateForwarder.java > 5d744214e14d6c48194b3a0bf84d6e10070b020a > > sentry-hdfs/sentry-hdfs-service/src/test/java/org/apache/sentry/hdfs/TestDBUpdateForwarder.java > 8fbc10048003ab4b8a38676e241ae0fd27d2392c > > sentry-hdfs/sentry-hdfs-service/src/test/java/org/apache/sentry/hdfs/TestSentryHDFSServiceProcessor.java > 4652dc9e0a35a20780418d8e388595198a8f9ccd > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HMSFollower.java > d4feb380fa0f3bd5f237609a107295a2d23eae3b > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java > d44abffc199cd46d3ab7d2230dfdb2075736a8f0 > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceFactory.java > 1685702c6dbc9715c8885a29a80bc68509550f0b > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/generic/service/thrift/TestSentryGenericServiceClient.java > 8959ad8ec77a1268a755faf451d99a81d87cb889 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryPolicyServiceClient.java > 3b3b30e0bdf65e774d854e8252339960afcdd306 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServiceClientPool.java > fe4164d4980738e8df6e93ee5f78e82e1d874ae1 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServiceWithInvalidMsgSize.java > 32e67b9f8efbbec12e93794f0ab00d5b8ed555b1 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/service/thrift/SentryServiceIntegrationBase.java > 6895720f6e6d5f12ce468d7368e0d0ee9a0fae88 > > sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/AbstractTestWithDbProvider.java > b416ef81db21dfcf0157b2947c53721d5bcdf560 > > sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/minisentry/InternalSentrySrv.java > 4cfb1f74cd90dbdb7c1aa5be07729e68353dd501 > sentry-tests/sentry-tests-kafka/pom.xml > 56a3ef10a9071929776cb7211bdb8ead921deace > > sentry-tests/sentry-tests-kafka/src/test/java/org/apache/sentry/tests/e2e/kafka/AbstractKafkaSentryTestBase.java > 7c459993efb811b7ee11430f42791d1083f8d9df > sentry-tests/sentry-tests-solr/pom.xml > c70476808688c80e1723d5e65e3b8cf6d1b64250 > > sentry-tests/sentry-tests-solr/src/test/java/org/apache/sentry/tests/e2e/solr/db/integration/AbstractSolrSentryTestWithDbProvider.java > ccea82ee8ee2b976f14bc6da46a84c764b3b96f9 > > sentry-tests/sentry-tests-sqoop/src/test/java/org/apache/sentry/tests/e2e/sqoop/AbstractSqoopSentryTestBase.java > 80f158a1fd626cdddeae9e2ee264f361d78bc2a7 > > > Diff: https://reviews.apache.org/r/62107/diff/5/ > > > Testing > ------- > > Unit Tests > > > Thanks, > > Brian Towles > >