Hi Meet,
But it sounds like you got things working now? Great to hear!
Thanks,
Emilio Lahr-Vivaz
General Atomics, CCRi
From: Patel, Meet RTX <meet.2.patel@xxxxxxx>
Sent: Monday, July 15, 2024 9:31 AM
To: jnhuva@xxxxxxxxx <jnhuva@xxxxxxxxx>; Lahr-Vivaz, Emilio <Emilio.Lahr-Vivaz@xxxxxxxxxxx>
Subject: RE: [External] Re: [geomesa-users] [geomesa-dev] GeoMesa Accumulo Custom Iterator
Jim, Emilio,
I tried getting the attribute level visibility to work multiple times before considering support of implementation. After looking at the feature level visibility tutorial https://www.geomesa.org/documentation/stable/tutorials/geomesa-examples-featurelevelvis.html
. I noticed that both lines
// set the visibility as user data in the feature
SecurityUtils.setFeatureVisibility(feature, visibilities);
// also set as an attribute for visualization
feature.setAttribute("visibility", visibilities);
are needed whereas the attribute level documentation
https://www.geomesa.org/documentation/stable/user/datastores/security.html states to have either the first line OR equivalently the second line.
SecurityUtils.setFeatureVisibility(feature, "admin,user,admin,user")
// or, equivalently:
feature.getUserData().put("geomesa.feature.visibility", "admin,user,admin,user");
I believe that there is a documentation error which initially caused me to not get the attribute level visibility to work. Removing the “//or, equivalently:” comment would be great as both lines are needed
to get the visibilities to work.
Let me know if this is a real find.
Thanks,
Meet
From: geomesa-users <geomesa-users-bounces@xxxxxxxxxxx>
On Behalf Of James Hughes via geomesa-users
Sent: Tuesday, July 2, 2024 9:26 PM
To: Geomesa project developer mailing list <geomesa-dev@xxxxxxxxxxx>
Cc: James Hughes <jnhuva@xxxxxxxxx>; Patel, Meet RTX via geomesa-users <geomesa-users@xxxxxxxxxxx>
Subject: [External] Re: [geomesa-users] [geomesa-dev] GeoMesa Accumulo Custom Iterator
Hi Meet,
Are you trying to implement feature or attribute level visibility? If you are trying to filter entire records, then it is feature level and things are way easier!
Emilio's suggestion is an outline of how to implement things yourself. That is a decent bit of work; hopefully the existing functionality will let you get things going!
I would suggest trying to get the attribute level visibilities working - others have used them successfully, and that should be simpler than writing a custom iterator. GeoMesa doesn't have a pluggable way to
add iterators - if you want to implement one, the steps would be:
- Extend the code for query handling to check for your custom query hint, and configure your iterator appropriately
- Bundle your iterator into the geomesa-accumulo-distributed-runtime jar and install it into Accumulo
- Deploy your custom query handling code to your environment (spark, geoserver, etc)
- Keep your fork up-to-date with any upstream changes
Thank you for replying.
The goal of the custom iterator is to remove/filter key/value pairs based on the user visibility that we pass in.
I have tried to implement the
attribute level visibilities on geomesa-accumulo 2.12 4.0.1 version however unable to store the attribute with a proper visibility. So, I want to create a GeoMesa custom iterator that will allow key/value filtering on the Accumulo tablet server level and
return only pairs that the user is able to see. I will pass in a Hint from the GeoTools API that will tell the iterator to filter based on the value.
Does this make sense? Is there a better way to process?
Sincerely,
Meet Patel
What is your iterator meant to do?
For questions about running Accumulo on k8s, I would ask the Accumulo lists.
WARNING: This message is from an external source. Evaluate the message carefully BEFORE clicking on links or opening attachments.
Hello,
I am looking to create a custom iterator under GeoMesa’s library in Scala. Will this iterator run at Accumulo’s tablet server level? I want to ensure that the processing of the custom iterator runs at the tserver level.
Also, the accumulo database is running on a pod in K8. Is there a way to enable logging? If so how am I able to do that and where am I able to see the logging for custom iterator?
Thanks,
Meet
_______________________________________________
geomesa-dev mailing list
geomesa-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/geomesa-dev
|