JaneliaSciComp/jacs-cm

Import Imagery

Closed this issue · 3 comments

Hi,
I load the image as the Janelia Workstation User Manual.pdf "Image Octree Data Format".
The Host1 status is as follow:
image

My transform.txt is as follow:

ox: 128
oy: 128
oz: 128
sx: 200.0
sy: 200.0
sz: 200.0
nl: 2

The tree of folder is as follow:

image

the image .tif is 128 , 128 , 128 (8bit). But I still cannot import the images from the client:
image
The error is :

org.janelia.workstation.core.api.exceptions.RemoteServiceException: Remote service returned InboundJaxrsResponse{context=ClientResponse{method=PUT, uri=https://xx.xx.xx.xx/SCSW/JACS2SyncServices/v2/mouselight/data/sample?subjectKey=user%3Aroot, status=500, reason=Internal Server Error}} response
	at org.janelia.workstation.core.api.http.RESTClientBase.checkBadResponse(RESTClientBase.java:26)
	at org.janelia.workstation.gui.large_volume_viewer.api.TiledMicroscopeRestClient.create(TiledMicroscopeRestClient.java:137)
	at org.janelia.workstation.gui.large_volume_viewer.api.TiledMicroscopeDomainMgr.save(TiledMicroscopeDomainMgr.java:116)
	at org.janelia.workstation.gui.large_volume_viewer.action.SaveTiledMicroscopeSampleAction$1.doStuff(SaveTiledMicroscopeSampleAction.java:63)
	at org.janelia.workstation.core.workers.SimpleWorker.createResult(SimpleWorker.java:14)
	at org.janelia.workstation.core.workers.SimpleWorker.createResult(SimpleWorker.java:10)
	at org.janelia.workstation.core.workers.ResultWorker.doInBackground(ResultWorker.java:50)
	at javax.swing.SwingWorker$1.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at javax.swing.SwingWorker.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[catch] at java.lang.Thread.run(Unknown Source)

Hoping for your reply!
Liu

Hi Liu,
Can you please post the error on the server side using this command:
docker service logs jacs_jacs-sync
There's no need to post the entire log, just whatever is logged when you try to import the sample.
Thanks,
Konrad

Hi Konrad,
The output of docker service logs jacs_jacs-sync is:

jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.032 [XNIO-1 task-11] INFO  o.j.j.r.s.v.d.TmSampleResource [service=] [rootService=] - Creating new TmSample test with path /jade1/test
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.113 [XNIO-1 task-11] INFO  o.j.j.d.s.DataStorageLocationFactory [service=] [rootService=] - Create JADE volume location with URLs http://csdl-neutu:9881/jacsstorage/agent_api/v1, http://csdl-neutu:9881/jacsstorage/agent_api/v1/agent_storage/storage_volume/2727932710805835845 and volume path test
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.114 [XNIO-1 task-11] INFO  o.j.j.r.s.v.d.TmSampleResource [service=] [rootService=] - Reading transform.txt from http://csdl-neutu:9881/jacsstorage/agent_api/v1/agent_storage/storage_volume/2727932710805835845/test/
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.152 [XNIO-1 task-11] INFO  o.j.j.r.s.v.d.TmSampleResource [service=] [rootService=] - Found 2 levels in octree
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.152 [XNIO-1 task-11] INFO  o.j.j.r.s.v.d.TmSampleResource [service=] [rootService=] - KTX data path not provided for test. Attempting to find it relative to the octree...
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.207 [XNIO-1 task-11] INFO  o.j.j.d.s.DataStorageLocationFactory [service=] [rootService=] - Create JADE volume location with URLs http://csdl-neutu:9881/jacsstorage/agent_api/v1, http://csdl-neutu:9881/jacsstorage/agent_api/v1/agent_storage/storage_volume/2727932710805835845 and volume path test/ktx
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.208 [XNIO-1 task-11] INFO  o.j.j.r.s.v.d.TmSampleResource [service=] [rootService=] - RAW data path not provided for test. Attempting to read it from the tilebase.cache.yml...
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.236 [XNIO-1 task-11] ERROR o.j.j.r.IllegalStateRequestHandler [service=] [rootService=] - Invalid state exception
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | java.lang.IllegalStateException: java.lang.IllegalStateException: Subject does not have a default workspace: user:root
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.janelia.model.access.domain.dao.mongo.TmSampleMongoDao.createTmSample(TmSampleMongoDao.java:39)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.janelia.model.access.domain.dao.searchables.TmSampleSearchableDao.createTmSample(TmSampleSearchableDao.java:27)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.janelia.jacs2.rest.sync.v2.dataresources.TmSampleResource.createTmSample(TmSampleResource.java:322)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.janelia.jacs2.rest.sync.v2.dataresources.TmSampleResource$Proxy$_$$_WeldClientProxy.createTmSample(Unknown Source)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at java.lang.reflect.Method.invoke(Method.java:498)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:679)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:364)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at java.lang.Thread.run(Thread.java:748)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | Caused by: java.lang.IllegalStateException: Subject does not have a default workspace: user:root
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.janelia.model.access.domain.DomainDAO.getOrCreateDefaultTreeNodeFolder(DomainDAO.java:1779)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	at org.janelia.model.access.domain.dao.mongo.TmSampleMongoDao.createTmSample(TmSampleMongoDao.java:35)
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 	... 57 common frames omitted
jacs_jacs-sync.1.i6gml2stqbc7@csdl-neutu    | 2019-10-26_14:47:54.238 [XNIO-1 task-11] INFO  o.janelia.jacs2.app.JAXSyncAppConfig [service=] [rootService=] - 10.0.6.4 root root 'Workstation' PUT http://csdl-neutu/api/rest-v2/mouselight/data/sample ?subjectKey=user%3Aroot status=500 response_bytes=104 rt=0.13 tp=0.004 'Jersey/2.21 (Apache HttpClient 4.5)' {"subjectKey":"user:root","references":null,"objectIds":null,"ordering":null,"objectType":null,"propertyName":null,"propertyValue":null,"domainObject":{"class":"org.janelia.model.domain.tiledMicroscope.TmSample","name":"test","ownerKey":null,"readers":[],"writers":[],"creationDate":null,"updatedDate":null,"micronToVoxMatrix":null,"voxToMicronMatrix":null,"origin":null,"scaling":null,"numImageryLevels":null,"files":{"LargeVolumeOctree":"/jade1/test"},"filesystemSync":true,"filepath":null,"_id":null},"objectL... truncated ...

Liu

That's intentional (though it should have a better error message). The root user cannot create samples. You should create a real user and then create the sample.