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

liu ming commented on TRAFODION-1578:
-------------------------------------

I like this idea very much. It allows user to deploy SPJ via a simple trafci 
command, since itself is a SPJ, so it is also very easy to integrated into a 
GUI manager.

Need to discuss a little more:
1.      Put DLL/jar as LOB or as HDFS file?
   HDFS file seems very good to me.
2.      Location of DLL/jar at server side. 
   $MY_SQROOT/export/lib/udr/cache is a good place, and as Kevin proposed, 
there are benefit to put DLL/jar files in directories per user. So we can have 
finer control, user A cannot call user B’s SPJ for example. So maybe we can 
upload the jar to $MY_SQROOT/export/lib/udr/cache/$USER

If the SPJ/UDR need extra DLL/jar files, we can  simply put into 
$MY_SQROOT/export/lib along with the SPJ jar, $MY_SQROOT/export/lib is already 
in CLASSPATH and  LD_LIBRARY_PATH. Or we can ask the developer of UDR/SPJ to 
pack all required DLL/jar into a single file. 

> Proposal for SPJ management
> ---------------------------
>
>                 Key: TRAFODION-1578
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1578
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: connectivity-dcs
>            Reporter: Kevin Xu
>
> JAR upload process:
> 1. Initialize JAR upload procedure by default
> 2. JAR upload by Trafci(add library LIB_NAME JAR_LOCAL_PATH). Upload and 
> create library will be done here. And also, you can only upload the JARs by 
> UPLOAD command on Trafci that it will not create a lib.
>    Tips: Before put the JAR into HDFS check MD5 first, if the file exists, 
> only add a record in metadata table in case users upload the same JAR many 
> times on platform.
> 3. On server-side, the JAR will store in HDFS. At the same time JAR 
> metadata(path in HDFS, MD5 of the file, and others) stores in store procedure 
> metadata table.
> 4. create procedure is the same as now.
> JAR perform process:
> 1. Send a CALL by Trafci/JDBC/ODBC/ADO.NET.
> 2. DCSMaster assign a DCSServer for the CALL.
> 3. DCSServer start a JVM for the user. User can modify JVM options, program 
> properties and JAVA classpath. At the same time, a monitor class will be 
> starting in the JVM witch will register a node on Zookeeper for this JVM as 
> well as metadata info( process id, server info and so on) and the node will 
> be removed while JVM exiting. It allows customer to specify JVM idle time in 
> case of some realtime senarior like Kafka consumer. 
> 4. Useful commands on Trafci: list all JVMs in user; kill one of them that no 
> long in use; Restart JVMs with latest JARs and so on.



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

Reply via email to