Comments (9)
I'm not sure what's going on with the ITs. It may be entirely unrelated.
See #31
from accumulo-proxy.
Under this paradigm, it still would be possible to support multiple users with a single proxy. However, the way it would be done is much simpler: you simply specify which client properties file the proxy should use to create AccumuloClient objects for the requested operations.
from accumulo-proxy.
Under this paradigm, it still would be possible to support multiple users with a single proxy. However, the way it would be done is much simpler: you simply specify which client properties file the proxy should use to create AccumuloClient objects for the requested operations.
Does the proxy client need to be on the same server as the Proxy if this is done? There are Java bindings in case you want to limit access from the client to cluster. I am not sure if limiting access is still needed, I just wanted to bring it up.
from accumulo-proxy.
Does the proxy client need to be on the same server as the Proxy if this is done?
No. The client just needs to send a filename for a file that exists local to the proxy server... or, it could send the raw client properties, I suppose. The main point is to standardize client initialization around the client properties, either as raw properties or as a properties file, rather than the custom "logon" session stuff that the proxy has now. Avoiding the custom stuff and using the client properties in the same (familiar) way that the Java API uses them, would be the main goal.
The simplest thing to do is just have one set of client properties in the proxy server so it has one Java AccumuloClient for the lifetime of the proxy, to handle all the real client's requests. That implies a single-user scenario, so that's why I thought of that first.
The more complicated case would be the multi-user support via multiple sets of client properties. I haven't fully through through all the possible multi-user options and their implications... but just thinking that it could still be done, if we really wanted to have that complexity.
Which direction this goes is really up to user demand and how tolerant for complexity those maintaining the proxy are. I'm fine with the single user case (because my tolerance for complexity in Accumulo is low right now)... I just want to see the custom and unfamiliar proxy-specific stuff go away in favor of the friendly and familiar client properties.
from accumulo-proxy.
@ctubbsii With the update in Accumulo 2.0.1, most of the ITs are throwing security exceptions. I have been looking where the user "user" gets setup but have not found that yet. I am wondering if this ticket is more important now that the exception bug was fixed in: apache/accumulo#1828
Edit: The ITs can still pass but they are throwing security exceptions.
from accumulo-proxy.
@ctubbsii With the update in Accumulo 2.0.1, most of the ITs are now failing. I have been looking where the user "user" gets setup but have not found that yet. I am wondering if this ticket is more important now that the exception bug was fixed in: apache/accumulo#1828
I'm not sure how this ticket would relate to that one. The idea here is to just create a single AccumuloClient for that specific proxy instance, built from the client properties, and remove any "login" mechanisms.
I'm not sure what's going on with the ITs. It may be entirely unrelated.
from accumulo-proxy.
Is the suggestion here to pass the client properties when creating the Accumuloproxy.Client
which will be used to create the AccumuloClient
once, which will then be used for all operations without having to pass in the "login" every time we want to do an operation?
from accumulo-proxy.
Is the suggestion here to pass the client properties when creating the
Accumuloproxy.Client
which will be used to create theAccumuloClient
once, which will then be used for all operations without having to pass in the "login" every time we want to do an operation?
The suggestion is that starting the AccumuloProxy (via it's main method) will either automatically locate the client properties using the class path and/or environment and construct an AccumuloClient from that (just like bin/accumulo jshell
does). I'm not sure what features we have right now to explicitly set the path to the client properties file... it might be a Java system property you can set with -Daccumulo.properties=/path/to/file
or similar... but that should work also. The user should have to do nothing to construct the AccumuloClient object inside the proxy service. We may want to add some mechanism for the proxy client to authenticate to the proxy service, but that can be addressed later. The first pass, is just to simplify the proxy service authenticating to Accumulo.
from accumulo-proxy.
Addressed in #59
from accumulo-proxy.
Related Issues (20)
- Thousands of ProxyServer updates get silently lost if BatchWriter is closed right after the last update has been sent HOT 6
- Update to use accumulo version 2.1 HOT 2
- Update to JUnit 5 HOT 2
- Bump dependency versions in pom HOT 2
- Use assertThrows() instead of try-catch in tests HOT 1
- Failing test - testCompactionStrategy()
- Failing test - ProxyDurabilityIT.testDurability()
- Failing test - testSiteConfiguration() HOT 2
- Failing test - userAuthentication() HOT 4
- Logging does not work HOT 1
- Update compaction techniques HOT 1
- Update ruby steps in README
- Add cpp example client file HOT 1
- Automate the addition of licence headers to files
- Update docker config to work with 2.1
- Example clients no longer work
- Assess usage of Kerberos
- SimpleProxyBase.testCompactionSelector should not be passing
- Missing TableOperations method implementations HOT 2
- Add test coverage for CompactionConfigurer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from accumulo-proxy.