Tachyon UI Error

87 views
Skip to first unread message

donakalz

unread,
Feb 22, 2016, 11:26:13 AM2/22/16
to Tachyon Users

Hi Guys,


I see the following error when I try to access the Tachyon User Interface (localhost:19999). I use version 0.8.2 of the project. Does anyone have an idea why I see this problem? Cheers!



Problem accessing /home. Reason:

    Server Error

Caused by:

org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

PWC6197: An error occurred at line: 114 in the jsp file: /general.jsp
PWC6199: Generated servlet error:
WebInterfaceGeneralServlet.StorageTierInfo cannot be resolved to a type

PWC6197: An error occurred at line: 114 in the jsp file: /general.jsp
PWC6199: Generated servlet error:
WebInterfaceGeneralServlet.StorageTierInfo cannot be resolved to a type


	at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:126)
	at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:296)
	at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:372)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:433)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:476)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:366)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:574)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:293)
	at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:120)
	at tachyon.web.WebInterfaceGeneralServlet.doGet(WebInterfaceGeneralServlet.java:56)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:365)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Thread.java:745)

Yupeng Fu

unread,
Feb 22, 2016, 6:16:38 PM2/22/16
to donakalz, Tachyon Users
Hi,

Did you recompile Tachyon source code? If so, what's your Java version? 

Cheers,


--
You received this message because you are subscribed to the Google Groups "Tachyon Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tachyon-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

donakalz

unread,
Feb 22, 2016, 6:56:41 PM2/22/16
to Tachyon Users, cpren...@gmail.com
Hi Yupeng,

Yes I did recompile Tachyon source code. I built it with JDK8.

Created-By: Apache Maven 3.3.3
Build-Jdk: 1.8.0_72

Thanks

Yupeng Fu

unread,
Feb 22, 2016, 7:00:29 PM2/22/16
to donakalz, Tachyon Users
Hey,

Can you try to compile it with JDK7? There're dependency conflicts with Java 8 for some libraries that Tachyon depends on.
Hope it helps,

Cheers,

Yupeng Fu

unread,
Feb 22, 2016, 7:28:14 PM2/22/16
to donakalz, Tachyon Users
Also, is your 0.8.2 source unmodified? The error message "WebInterfaceGeneralServlet.StorageTierInfo cannot be resolved to a type" indicates the source code might be broken.
So it might not be related to Java version. Keep me posted after you try Java 7.

Thanks,

donakalz

unread,
Feb 24, 2016, 5:35:03 PM2/24/16
to Alluxio Users, cpren...@gmail.com, tachyo...@googlegroups.com
Hi Yupeng,

I can confirm that the JDK version was not the problem. Both of my JDK7 and JDK8 builds work without problems with a regular Local UnderFileSystem.

A bit more about my situation: I wrote a Cassandra File System (CFS) UnderFileSystem for Tachyon. I use the following config in tachyon-env.sh

export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export TACHYON_UNDERFS_ADDRESS=cfs://172.17.0.3:9160
export TACHYON_UNDERFS_HDFS_IMPL=com.datastax.bdp.hadoop.cfs.CassandraFileSystem
export TACHYON_WORKER_MEMORY_SIZE=3GB
export TACHYON_CLASSPATH="/home/donakalz/tachyon.jdk7/underfs/tachyon-underfs-cfs-0.8.2.jar:/home/donakalz/test.tachyon/dse-4.8.1/lib/dse-core-4.8.1.jar:/home/donakalz/test.tachyon/dse-4.8.1/lib/dse-hadoop-4.8.1.jar:/home/donakalz/test.tachyon/dse-4.8.1/resources/cassandra/lib/*:/home/donakalz/test.tachyon/dse-4.8.1/resources/spark/lib/*"

export TACHYON_JAVA_OPTS+="
  -Dlog4j.configuration=file:${CONF_DIR}/log4j.properties
  -Dtachyon.worker.tieredstore.level.max=1
  -Dtachyon.worker.tieredstore.level0.alias=MEM
  -Dtachyon.worker.tieredstore.level0.dirs.path=${TACHYON_RAM_FOLDER}
  -Dtachyon.worker.tieredstore.level0.dirs.quota=${TACHYON_WORKER_MEMORY_SIZE}
  -Dtachyon.underfs.address=${TACHYON_UNDERFS_ADDRESS}
  -Dtachyon.worker.memory.size=${TACHYON_WORKER_MEMORY_SIZE}
  -Dtachyon.master.hostname=${TACHYON_MASTER_ADDRESS}
  -Dorg.apache.jasper.compiler.disablejsr199=true
  -Djava.net.preferIPv4Stack=true
  -Dcassandra.config=file:///home/donakalz/test.tachyon/dse-4.8.1/resources/cassandra/conf/cassandra.yaml
  -Ddse.config=file:///home/donakalz/test.tachyon/dse-4.8.1/resources/dse/conf/dse.yaml
  -Dtachyon.underfs.hdfs.impl=com.datastax.bdp.hadoop.cfs.CassandraFileSystem
  -Dtachyon.master.web.threads=20
  -Dtachyon.underfs.hadoop.prefixes=cfs://,hdfs://
  -Dtachyon.debug=false
  -Dtachyon.web.resources=${TACHYON_HOME}/servers/src/main/webapp
"


When I try to run tachyon-start.sh local I have the following logs and eventual error:

23:26:56.328 [main] DEBUG  - tachyon.home  : /home/donakalz/tachyon.jdk7/tachyon-0.8.2
23:26:56.334 [main] DEBUG  - tachyon.web.resources  : /home/donakalz/tachyon.jdk7/tachyon-0.8.2/servers/src/main/webapp
23:26:56.334 [main] DEBUG  - tachyon.underfs.address  : cfs://172.17.0.3:9160
23:26:56.334 [main] DEBUG  - tachyon.data.folder  uses the default value : cfs://172.17.0.3:9160/tachyon/data
23:26:56.334 [main] DEBUG  - tachyon.workers.folder  uses the default value : cfs://172.17.0.3:9160/tachyon/workers
23:26:56.334 [main] DEBUG  - tachyon.underfs.hdfs.impl  : com.datastax.bdp.hadoop.cfs.CassandraFileSystem
23:26:56.334 [main] DEBUG  - tachyon.underfs.glusterfs.impl  uses the default value : org.apache.hadoop.fs.glusterfs.GlusterFileSystem
23:26:56.334 [main] DEBUG  - tachyon.underfs.glusterfs.volumes  uses the default value : null
23:26:56.335 [main] DEBUG  - tachyon.underfs.glusterfs.mounts  uses the default value : null
23:26:56.335 [main] DEBUG  - tachyon.underfs.glusterfs.mapred.system.dir  uses the default value : glusterfs:///mapred/system
23:26:56.335 [main] DEBUG  - tachyon.usezookeeper  uses the default value : false
23:26:56.335 [main] DEBUG  - tachyon.async.enabled  uses the default value : false
23:26:56.335 [main] DEBUG  - tachyon.max.columns  uses the default value : 1000
23:26:56.335 [main] DEBUG  - tachyon.max.table.metadata.byte  uses the default value : 5242880
23:26:56.335 [main] DEBUG  - tachyon.underfs.hadoop.prefixes  : cfs://,hdfs://
23:26:56.339 [main] DEBUG  - tachyon.test.mode  uses the default value : false
23:26:56.340 [main] DEBUG  - tachyon.master.retry  uses the default value : 29
23:26:56.340 [main] DEBUG  - tachyon.master.journal.folder  uses the default value : /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/
23:26:56.343 [main] DEBUG MASTER_LOGGER - address: NB-IT-20/127.0.1.1 isLoopbackAddress: true, with host 127.0.1.1 NB-IT-20
23:27:04.355 [main] DEBUG  - tachyon.master.hostname  : localhost
23:27:04.355 [main] DEBUG  - tachyon.master.port  uses the default value : 19998
23:27:04.355 [main] DEBUG  - tachyon.master.web.port  uses the default value : 19999
23:27:04.355 [main] DEBUG  - tachyon.master.web.threads  : 20
23:27:04.355 [main] DEBUG  - tachyon.master.temporary.folder  uses the default value : /tmp
23:27:04.355 [main] DEBUG  - tachyon.master.heartbeat.interval.ms  uses the default value : 1000
23:27:04.355 [main] DEBUG  - tachyon.master.selector.threads  uses the default value : 3
23:27:04.356 [main] DEBUG  - tachyon.master.queue.size.per.selector  uses the default value : 3000
23:27:04.356 [main] DEBUG  - tachyon.master.server.threads  uses the default value : 8
23:27:04.356 [main] DEBUG  - tachyon.master.worker.timeout.ms  uses the default value : 10000
23:27:04.356 [main] DEBUG  - tachyon.master.keytab.file  uses the default value : null
23:27:04.356 [main] DEBUG  - tachyon.master.principal  uses the default value : null
23:27:04.356 [main] DEBUG  - tachyon.master.whitelist  uses the default value : /
23:27:04.356 [main] DEBUG  - tachyon.master.pinlist  uses the default value : null
23:27:04.402 [main] INFO  MASTER_LOGGER - Loading image /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/image.data
23:27:04.636 [main] DEBUG MASTER_LOGGER - Read Element: ImageElement{type=Version, parameters={version=3}}
23:27:04.665 [main] DEBUG MASTER_LOGGER - Read Element: ImageElement{type=InodeFolder, parameters={id=1, lastModificationTimeMs=1456348902381, parentId=-1, pinned=false, name="", childrenIds=[], creationTimeMs=1456348902381}}
23:27:04.694 [main] DEBUG MASTER_LOGGER - Read Element: ImageElement{type=RawTable, parameters={ids=[], data=[], columns=[]}}
23:27:04.699 [main] DEBUG MASTER_LOGGER - Read Element: ImageElement{type=Checkpoint, parameters={dependencyCounter=0, editTransactionCounter=0, inodeCounter=1}}
23:27:04.700 [main] INFO  MASTER_LOGGER - currentLogNum passed in was 0
23:27:04.700 [main] INFO  MASTER_LOGGER - No completed edit logs to be parsed
23:27:04.701 [main] INFO  MASTER_LOGGER - Loading Edit Log /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/log.data
23:27:04.701 [main] INFO  MASTER_LOGGER - Creating the image file: /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/image.data.tmp
23:27:04.760 [main] INFO  MASTER_LOGGER - Succefully created the image file: /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/image.data.tmp
23:27:04.760 [main] INFO  MASTER_LOGGER - Renamed /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/image.data.tmp to /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/image.data
23:27:04.760 [main] INFO  MASTER_LOGGER - Creating edit log file /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/log.data
23:27:04.762 [main] INFO  MASTER_LOGGER - Created file /home/donakalz/tachyon.jdk7/tachyon-0.8.2/journal/log.data
23:27:04.766 [Master Heartbeat] DEBUG MASTER_LOGGER - System status checking.
23:27:04.786 [main] DEBUG org.eclipse.jetty.util.log - Logging to Logger[org.eclipse.jetty.util.log] via org.eclipse.jetty.util.log.Slf4jLog
23:27:04.838 [main] WARN  o.e.jetty.server.AbstractConnector - Acceptors should be <=2*availableProcessors: SelectChann...@0.0.0.0:19999
23:27:04.838 [main] DEBUG o.e.jetty.util.component.Container - Container org.eclipse.jetty.server.Server@6dbe7935 + SelectChann...@0.0.0.0:19999 as connector
23:27:04.851 [main] DEBUG o.e.jetty.util.component.Container - Container org.eclipse.jetty.server.Server@6dbe7935 + qtp445567561{41<=0<=0/140,-1} as threadpool
Exception in thread "main" java.lang.SecurityException: class "javax.servlet.HttpConstraintElement"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:952)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:666)
at java.lang.ClassLoader.defineClass(ClassLoader.java:794)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at tachyon.web.UIWebServer.<init>(UIWebServer.java:74)
at tachyon.master.TachyonMaster.setup(TachyonMaster.java:208)
at tachyon.master.TachyonMaster.start(TachyonMaster.java:267)
at tachyon.master.TachyonMaster.main(TachyonMaster.java:63)


Do you know why I might be seeing this error?

Jiří Šimša

unread,
Feb 24, 2016, 6:20:49 PM2/24/16
to donakalz, Alluxio Users, Tachyon Users
Hi Charlie,

I suspect that this is because of conflicting versions of a dependency in Tachyon (now Alluxio) and the UnderFileSystem module you created. If I run "mvn dependency:tree" for Alluxio I search for "servlet-api" I see versions 3.0.1 and 2.5. What dependencies are in the CFS pom file? Any chance the set of transitive dependencies contains other versions of "servlet-api"?

Best,

--
You received this message because you are subscribed to the Google Groups "Alluxio Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alluxio-user...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Jiří Šimša

Jiří Šimša

unread,
Feb 24, 2016, 6:21:16 PM2/24/16
to donakalz, Alluxio Users

donakalz

unread,
Feb 28, 2016, 10:52:58 AM2/28/16
to Alluxio Users, cpren...@gmail.com, tachyo...@googlegroups.com
Hi Jiri,

I can confirm that this problem was solved by simply rearranging my TACHYON_CLASSPATH entries. Thanks a lot. However I have annother issue which I have described here:  https://groups.google.com/forum/#!topic/alluxio-users/jT7TD2_lUq8


Thanks
Reply all
Reply to author
Forward
0 new messages