[ 
https://issues.apache.org/jira/browse/ACCUMULO-4500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15589211#comment-15589211
 ] 

Keith Turner commented on ACCUMULO-4500:
----------------------------------------

Re passing in an instance of a Function, how can we run the function on remote 
JVMs?  We could take the class name from the instance and use that to 
instantiate on remote JVMs. The following are two possible issues with taking 
the class name from the instance.

 * Anonymous inner classes (AIC) : If the user passes in Foo$1, it could be 
that the same AIC is Foo$2 on a remote JVM. This could happen when running a 
slightly different version of the code on the remote.  Also if the Anonymous 
inner class is not static, could be tricky to instantiate on remote JVM. 
 * Lambdas : Are not inner classes[1].  I have no idea if you can safely 
serialize[2] lambdas between class files generated from different versions of 
code???

I have wanted to look into what Spark does, but have not had a chance to dig 
into the details.  I strongly suspect Spark can make certain assumptions based 
on the fact that all JVMs are running the exact same version of user code.  In 
this case its reasonable to expect an AIC to have the same name across JVMs.   
I don't think we should assume Accumulo client and server processes are running 
the exact same version of user code.

It seems given our circumstances that using a class name instead of an instance 
would be safer.  I suppose we could just dissallow AICs (throw an exception).  
Not sure about lambdas.

[1]: https://www.infoq.com/articles/Java-8-Lambdas-A-Peek-Under-the-Hood
[2]: 
https://docs.oracle.com/javase/8/docs/api/java/lang/invoke/SerializedLambda.html

> Implement visibility histograms as a table feature
> --------------------------------------------------
>
>                 Key: ACCUMULO-4500
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4500
>             Project: Accumulo
>          Issue Type: New Feature
>          Components: client, tserver
>            Reporter: Josh Elser
>
> Add support to quickly extract a histogram of all of the visibilities stored 
> in an Accumulo table.
> DISCUSS: 
> https://lists.apache.org/thread.html/df5e764362a95277344fd2731a432e9fafc60595e7d30015d9a56b9c@%3Cdev.accumulo.apache.org%3E



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to