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

Raju Bairishetti commented on LENS-163:
---------------------------------------

Ran Lens server in docker to test this patch.

*Looks like server state was not fully written to the hdfs location during the 
stop.*

{noformat}
06 Jan 2015 01:35:53,523 [Shutdown] INFO  org.apache.lens.server.LensServices  
- Persisting server state in hdfs://c92e0253b5b0:9000/tmp/lensserver-test1
06 Jan 2015 01:35:53,527 [Shutdown] INFO  org.apache.lens.server.LensServices  
- Persisting state of service:session
06 Jan 2015 01:35:53,523 [StatusPoller] INFO  
org.apache.lens.server.query.QueryExecutionServiceImpl  - Status poller has 
been interrupted, exiting
06 Jan 2015 01:35:53,534 [Shutdown] ERROR org.apache.lens.server.LensServices  
- Could not persist server state
java.io.IOException: Filesystem closed
        at org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:730)
        at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1471)
        at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1413)
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:387)
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:383)
        at 
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:383)
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:327)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:906)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:887)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:784)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:773)
        at 
org.apache.lens.server.LensServices.persistLensServiceState(LensServices.java:286)
        at org.apache.lens.server.LensServices.stop(LensServices.java:333)
        at org.apache.lens.server.LensServer.stop(LensServer.java:143)
        at org.apache.lens.server.LensServer$1.run(LensServer.java:244)
06 Jan 2015 01:35:53,541 [Shutdown] INFO  
org.apache.hive.service.AbstractService  - Service:quota is stopped.
{noformat}



*Stopping the server:*
--------------------------------------------------------
{noformat}
root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 
jps | grep -i lens
1688 LensServer
root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 
bin/lens-ctl stop
Stopping lens server running as 1688
.Stopped lens server!
root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 
jps | grep -i lens
root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server#
{noformat}



*Lens server logs:*
------------------------
{noformat}
06 Jan 2015 01:29:38,936 [main] INFO  
org.glassfish.grizzly.http.server.HttpServer  - [HttpServer-1] Started.
06 Jan 2015 01:34:31,627 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisting server state in 
hdfs://c92e0253b5b0:9000/tmp/lensserver-test1
06 Jan 2015 01:34:31,628 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisting state of service:session
06 Jan 2015 01:34:31,977 [lens-server-snapshotter] INFO  
org.apache.lens.server.session.HiveSessionService  - Session service pesristed 
0 sessions
06 Jan 2015 01:34:32,727 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisted service session to 
hdfs://c92e0253b5b0:9000/tmp/lensserver-test1/session.final
06 Jan 2015 01:34:32,728 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisting state of service:query
06 Jan 2015 01:34:32,732 [lens-server-snapshotter] INFO  
org.apache.lens.driver.hive.HiveDriver  - HiveDriver persisted 0 queries
06 Jan 2015 01:34:32,734 [lens-server-snapshotter] INFO  
org.apache.lens.driver.hive.HiveDriver  - HiveDriver persisted 0 sessions
06 Jan 2015 01:34:32,734 [lens-server-snapshotter] INFO  
org.apache.lens.server.query.QueryExecutionServiceImpl  - Persisted 0 queries
06 Jan 2015 01:34:32,790 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisted service query to 
hdfs://c92e0253b5b0:9000/tmp/lensserver-test1/query.final
06 Jan 2015 01:34:32,790 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisting state of service:metastore
06 Jan 2015 01:34:32,837 [lens-server-snapshotter] INFO  
org.apache.lens.server.LensServices  - Persisted service metastore to 
hdfs://c92e0253b5b0:9000/tmp/lensserver-test1/metastore.final
{noformat}



pasting some commands here
{noformat}
root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 
grep  -A 2 -B 1 "persi" conf/lens-site.xml 
<property>
  <name>lens.server.persist.location</name>
  <value>hdfs://c92e0253b5b0:9000/tmp/lensserver-test1</value>
  <description>The directory in which lens server will persist its state when 
it is
 going down. The location be on any Hadoop compatible file system. Server will 
read from
 the location when it is restarted and recovery is enabled. So, Server should 
have
root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 


root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 
jps
495 ResourceManager
308 SecondaryNameNode
666 RunJar
188 DataNode
110 NameNode
619 RunJar
1768 Jps
1688 LensServer
588 NodeManager

root@c92e0253b5b0:/opt/lens/lens-dist/target/lens-dist-2.0.0-SNAPSHOT-server# 
hostname
c92e0253b5b0
{noformat}



> Fix Lens Server & Stop related issues. Was (Proprietary classes referenced in 
> LensServer)
> -----------------------------------------------------------------------------------------
>
>                 Key: LENS-163
>                 URL: https://issues.apache.org/jira/browse/LENS-163
>             Project: Apache Lens
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 2.0
>            Reporter: Srikanth Sundarrajan
>            Assignee: Srikanth Sundarrajan
>             Fix For: 2.0
>
>         Attachments: LENS-163-v1.patch, LENS-163-v2.patch, LENS-163-v3.patch, 
> LENS-163.movestoptomain.patch, LENS-163.patch
>
>
> LensServer imports the following dependencies
> {code}
> import sun.misc.Signal;
> import sun.misc.SignalHandler;
> {code}
> and this is being used to register essentially shutdownhook.
> {code}
> ...
>     Signal.handle(new Signal("TERM"), new SignalHandler() {
>       @Override
>       public void handle(Signal signal) {
> ...
> {code}
> We should use Runtime::addShutdownHook() instead.
> Besides issues reported relating to proprietary class references, there are 
> other issues in how start & stop are handled. Broadening the scope of this 
> issue based on feedback from [~jaideepdhok] and laxman



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

Reply via email to