[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16523105#comment-16523105 ] kalyan kumar kalvagadda commented on SENTRY-2269: - [~fahdsiddiqui] Thanks for the contribution. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Fix For: 2.1.0 > > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16522430#comment-16522430 ] kalyan kumar kalvagadda commented on SENTRY-2269: - [~fahdsiddiqui] When you submit new patch with a change please update the version of the patch "SENTRY-2269.X.patch". It will help in tracking stuff. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16522428#comment-16522428 ] kalyan kumar kalvagadda commented on SENTRY-2269: - [~akolb] I see you had some comments in Jira. Do you want to review thew patch? If yes, I will wait for you before pushing the changes upstream. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16520959#comment-16520959 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12928846/SENTRY-2269.1.patch against master. {color:green}Overall:{color} +1 all checks pass {color:green}SUCCESS:{color} all tests passed Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3920/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16520875#comment-16520875 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12928825/SENTRY-2269.1.patch against master. {color:red}Overall:{color} -1 due to an error {color:red}ERROR:{color} failed to build with patch (exit code 1) Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3919/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16520610#comment-16520610 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12928789/SENTRY-2269.1.patch against master. {color:red}Overall:{color} -1 due to an error {color:red}ERROR:{color} failed to build with patch (exit code 1) Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3918/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16520608#comment-16520608 ] kalyan kumar kalvagadda commented on SENTRY-2269: - [~fahdsiddiqui] Code changes look good. I will wait for a day to see If others have any comments. If there are no comments. I will submit them tomorrow. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16518235#comment-16518235 ] Fahd Siddiqui commented on SENTRY-2269: --- [~akolb] - There is already a disclaimer, along with the {{@Private}} annotation on the interface that makes it clear that the interface can break at any time. >> In this case SentryStore *is* the interface and existing SentryStore is an >>implementation Agreed. And that's why SentryStoreInterface is simply a reflection of SentryStore. >> instead of creating {{SentryStoreInterface}} and having {{SentryStore}} as >>its implementation it should be another way around This isn't clear to me. What do you mean by "another way around"? Are you suggesting to swap the names around, so {{SentryStoreInterface}} -> {{SentryStore}}, and then {{SentryStore}} -> {{SentryStoreImpl }}? > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16517739#comment-16517739 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12928418/SENTRY-2269.1.patch against master. {color:green}Overall:{color} +1 all checks pass {color:green}SUCCESS:{color} all tests passed Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3909/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16517651#comment-16517651 ] Alexander Kolbasov commented on SENTRY-2269: Comment for the actual code change. In this case SentryStore *is* the interface and existing SentryStore is an implementation so I would argue that instead of creating {{SentryStoreInterface}} and having {{SentryStore}} as its implementation it should be another way around. Please also add a disclaimer that we are free to change/modify the interface at any time and will break any client using it outside of Sentry code base. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16517585#comment-16517585 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12928408/SENTRY-2269.1.patch against master. {color:red}Overall:{color} -1 due to 2 errors {color:red}ERROR:{color} mvn test exited 1 {color:red}ERROR:{color} Failed: org.apache.sentry.provider.db.generic.service.persistent.TestPrivilegeOperatePersistence Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3907/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16511809#comment-16511809 ] Fahd Siddiqui commented on SENTRY-2269: --- [~akolb] - Basically, there are no backward compatibility guarantees on this interface. The external pluggable implementations of this interface have to deal with this reality. This is basically the same as HMS's RawStore pattern. This doesn't mean it can't be better in a follow on change. We should think about looking at the interface and breaking it up in some fashion that makes sense for maintainability. But, that is a design exercise of its own, and should be done separate to this change (hopefully soon). Just to be sure, I am assuming when you say "modify the API", you mean modify the SentryStoreInterface. Sure, devs will want to do that, and as I said there is no backward compatibility guarantee to this interface. The pluggable implementations would have to upgrade with each breaking version. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16511764#comment-16511764 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12927716/SENTRY-2269.1.patch against master. {color:green}Overall:{color} +1 all checks pass {color:green}SUCCESS:{color} all tests passed Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3883/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16511732#comment-16511732 ] Fahd Siddiqui commented on SENTRY-2269: --- [~akolb] cc. [~spena] - The use case is that one may want to have an implementation of SentryStore to store the data in a shared environment or proxy the calls to a cloud service instead of a database for persistence. I don't have a use case for other components, but they can. Can you explain "stability levels of SentryStore interfaces"? If you mean pinning it down, then this change doesn't make any claims about that. It only concerns itself by making it a pluggable interface. SentryStoreInterface can be refactored later if it is deemed necessary. I don't intend to include an alternative implementation to Sentry, since it will be a pluggable implementation separate from Sentry code base. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16511717#comment-16511717 ] kalyan kumar kalvagadda commented on SENTRY-2269: - [~akolb] Currently SentryStore is the only backend store implementation for sentry server but making it configurable might be good idea and would open options for implementing alternate implementations in future. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16511669#comment-16511669 ] Alexander Kolbasov commented on SENTRY-2269: Can you explain why this is a useful feature? What is the use case? Do you envision other components writing different implementations? Does this affect stability levels of SentryStore interfaces? Do you intend to include alternative implementation in a later commit? > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SENTRY-2269) Make SentryStore pluggable
[ https://issues.apache.org/jira/browse/SENTRY-2269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16511649#comment-16511649 ] Hadoop QA commented on SENTRY-2269: --- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12927684/SENTRY-2269.1.patch against master. {color:red}Overall:{color} -1 due to 7 errors {color:red}ERROR:{color} mvn test exited 1 {color:red}ERROR:{color} Failed: org.apache.sentry.tests.e2e.dbprovider.TestHmsNotificationProcessingWithOutHdfsSync {color:red}ERROR:{color} Failed: org.apache.sentry.tests.e2e.dbprovider.TestHmsNotificationProcessingWithOutHdfsSync {color:red}ERROR:{color} Failed: org.apache.sentry.tests.e2e.dbprovider.TestDbPrivilegeCleanupOnDrop {color:red}ERROR:{color} Failed: org.apache.sentry.tests.e2e.dbprovider.TestHmsNotificationProcessingWithOutSyncOnDrop {color:red}ERROR:{color} Failed: org.apache.sentry.tests.e2e.hdfs.TestHDFSIntegrationTogglingConf {color:red}ERROR:{color} Failed: org.apache.sentry.tests.e2e.dbprovider.TestHmsNotificationProcessingWithOutSyncOnCreate Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3882/console This message is automatically generated. > Make SentryStore pluggable > -- > > Key: SENTRY-2269 > URL: https://issues.apache.org/jira/browse/SENTRY-2269 > Project: Sentry > Issue Type: Improvement > Components: sentrystore >Affects Versions: 2.1.0 >Reporter: Fahd Siddiqui >Assignee: Fahd Siddiqui >Priority: Major > Attachments: SENTRY-2269.1.patch > > > Make SentryStore pluggable so a different implementation can be plugged in at > run-time using a config property ("sentry.service.sentrystore"), similar to > what we have for processor factories. > This would entail extracting all public methods of SentryStore to a > SentryStoreInterface and converting all call sites to program to the > interface. > It will default to the existing SentryStore. -- This message was sent by Atlassian JIRA (v7.6.3#76005)