RE: using Apache Spark standalone on a server for a class/multiple users, db.lck does not get removed

2017-06-29 Thread Mahesh Sawaiker
You could copy the spark folder to home directory of each user and set a 
different Spark home for each one..not sure what derby is used for, but you 
could try using mysql instead(if its for the hive metastore)

From: Robert Kudyba [mailto:rkud...@fordham.edu]
Sent: Wednesday, June 28, 2017 8:25 PM
To: user@spark.apache.org
Subject: using Apache Spark standalone on a server for a class/multiple users, 
db.lck does not get removed

We have a Big Data class planned and we’d like students to be able to start 
spark-shell or pyspark as their own user. However the Derby database locks the 
process from starting as another user:


-rw-r--r-- 1 myuser staff   38 Jun 28 10:40 db.lck

And these errors appear:

ERROR PoolWatchThread: Error in trying to obtain a connection. Retrying in 
7000ms
java.sql.SQLException: A read-only user or a user in a read-only database is 
not permitted to disable read-only mode on a connection.
at 
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at 
org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
Source)
at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
Source)
at 
org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at 
org.apache.derby.impl.jdbc.EmbedConnection.setReadOnly(Unknown Source)
at 
com.jolbox.bonecp.ConnectionHandle.setReadOnly(ConnectionHandle.java:1324)
at 
com.jolbox.bonecp.ConnectionHandle.(ConnectionHandle.java:262)
at 
com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:115)
at 
com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:82)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: ERROR 25505: A read-only user or a user in a read-only database is 
not permitted to disable read-only mode on a connection.
at 
org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at 
org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at 
org.apache.derby.impl.sql.conn.GenericAuthorizer.setReadOnlyConnection(Unknown 
Source)
at 
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.setReadOnly(Unknown
 Source)


Is there a work around or best practice for this scenario?
DISCLAIMER
==
This e-mail may contain privileged and confidential information which is the 
property of Persistent Systems Ltd. It is intended only for the use of the 
individual or entity to which it is addressed. If you are not the intended 
recipient, you are not authorized to read, retain, copy, print, distribute or 
use this message. If you have received this communication in error, please 
notify the sender and delete all copies of this message. Persistent Systems 
Ltd. does not accept any liability for virus infected mails.


using Apache Spark standalone on a server for a class/multiple users, db.lck does not get removed

2017-06-28 Thread Robert Kudyba
We have a Big Data class planned and we’d like students to be able to start 
spark-shell or pyspark as their own user. However the Derby database locks the 
process from starting as another user:

-rw-r--r-- 1 myuser staff   38 Jun 28 10:40 db.lck

And these errors appear:

ERROR PoolWatchThread: Error in trying to obtain a connection. Retrying in 
7000ms
java.sql.SQLException: A read-only user or a user in a read-only database is 
not permitted to disable read-only mode on a connection.
at 
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
Source)
at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
Source)
at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.setReadOnly(Unknown 
Source)
at 
com.jolbox.bonecp.ConnectionHandle.setReadOnly(ConnectionHandle.java:1324)
at com.jolbox.bonecp.ConnectionHandle.(ConnectionHandle.java:262)
at 
com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:115)
at com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:82)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: ERROR 25505: A read-only user or a user in a read-only database is 
not permitted to disable read-only mode on a connection.
at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
at 
org.apache.derby.impl.sql.conn.GenericAuthorizer.setReadOnlyConnection(Unknown 
Source)
at 
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.setReadOnly(Unknown
 Source)

Is there a work around or best practice for this scenario?