Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

500 error when pushing to mirth instance #33

Closed
RyianRockers opened this issue Jan 27, 2022 · 5 comments
Closed

500 error when pushing to mirth instance #33

RyianRockers opened this issue Jan 27, 2022 · 5 comments

Comments

@RyianRockers
Copy link

Using mirthsync 3.0.0 on AWS codebuild to deploy from a repo that uses the pull feature of mirthsync, I get a 500 error. See below;

DEBUG: posting xml to: /channelgroups/_bulkUpdate

291 | clojure.lang.ExceptionInfo: clj-http: status 500 {:cached nil, :request-time 55, :repeatable? false, :protocol-version {:name "HTTP", :major 1, :minor 1}, :streaming? true, :http-client #object[org.apache.http.impl.client.InternalHttpClient 0x68631b1d "org.apache.http.impl.client.InternalHttpClient@68631b1d"], :chunked? false, :type :clj-http.client/unexceptional-status, :reason-phrase "Internal Server Error", :headers {"Access-Control-Allow-Headers" "Content-Type", "Server" "Jetty(9.4.21.v20190926)", "Content-Type" "application/xml", "Access-Control-Allow-Origin" "*", "Content-Length" "7621", "X-Frame-Options" "DENY", "Strict-Transport-Security" "max-age=31536000; includeSubDomains", "Connection" "close", "Access-Control-Allow-Methods" "GET, POST, DELETE, PUT", "Date" "Thu, 27 Jan 2022 15:44:00 GMT", "Access-Control-Allow-Credentials" "false", "Content-Security-Policy" "frame-ancestors 'none'"}, :orig-content-encoding nil, :status 500, :length 7621, :body "<com.mirth.connect.client.core.ControllerException>\n Channel "84bbbe53-b03e-46bb-82af-1291ae479b7b" belongs to more than one group.\n \n com.mirth.connect.server.controllers.DefaultChannelController.updateChannelGroups(DefaultChannelController.java:823)\n com.mirth.connect.server.api.servlets.ChannelGroupServlet.updateChannelGroups(ChannelGroupServlet.java:54)\n sun.reflect.GeneratedMethodAccessor433.invoke(Unknown Source)\n sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\n java.lang.reflect.Method.invoke(Unknown Source)\n com.mirth.connect.server.api.providers.MirthResourceInvocationHandlerProvider$1.invoke(MirthResourceInvocationHandlerProvider.java:219)\n org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)\n org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)\n org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)\n org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)\n org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)\n org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)\n org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)\n org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)\n org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)\n org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)\n org.glassfish.jersey.internal.Errors.process(Errors.java:315)\n org.glassfish.jersey.internal.Errors.process(Errors.java:297)\n org.glassfish.jersey.internal.Errors.process(Errors.java:267)\n org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)\n org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)\n org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)\n org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471)\n org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)\n org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)\n org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)\n org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)\n org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:760)\n org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)\n com.mirth.connect.server.api.providers.StrictTransportSecurityFilter.doFilter(StrictTransportSecurityFilter.java:33)\n org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)\n com.mirth.connect.server.MethodFilter.doFilter(MethodFilter.java:37)\n org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)\n com.mirth.connect.server.api.providers.ClickjackingFilter.doFilter(ClickjackingFilter.java:44)\n org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)\n com.mirth.connect.server.api.providers.ApiOriginFilter.doFilter(ApiOriginFilter.java:71)\n org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)\n org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)\n org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1589)\n org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1296)\n org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\n org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)\n org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1559)\n org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\n org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1211)\n org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)\n org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n org.eclipse.jetty.server.Server.handle(Server.java:500)\n org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:386)\n org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:560)\n org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:378)\n org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268)\n org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\n org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:426)\n org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:320)\n org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)\n org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\n org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)\n org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367)\n org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)\n org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:914)\n java.lang.Thread.run(Unknown Source)\n \n <suppressedExceptions class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">\n <c class="list"/>\n \n \n</com.mirth.connect.client.core.ControllerException>", :trace-redirects []}

@RyianRockers
Copy link
Author

This happens whether you use -r or not

@jessesaga
Copy link
Contributor

I think that this is the key - <com.mirth.connect.client.core.ControllerException>\n Channel "84bbbe53-b03e-46bb-82af-1291ae479b7b" belongs to more than one group.\n \n

Grep your target directory for the channel GUID. It sounds like there's an old duplicate one. Keep in mind that MirthSync doesn't currently handle renames or deletes gracefully. This means that when those things happen in a remote mirth and you pull .... you will end up with local duplicates that need to be cleaned up manually. One approach to working around this is to delete your target directory before pulling everything.

@RyianRockers
Copy link
Author

Thanks for the information. I want to clarify though that every time we pull, we pull on top of a git clone to overwrite files that have been modified for source control.

@jessesaga
Copy link
Contributor

Pulling over top of a clean git clone of a mirthSync target directory isn't enough to handle renames. You'd need to delete all previously pulled files from the target directory - then you do a mirthSync pull. That series of steps is a manual workaround to the fact that mirthSync does not currently handle deletes or renames gracefully. I already have a ticket created for this - #26

@jessesaga
Copy link
Contributor

Closing this issue for now. Feel free to reopen if you think there's still an issue that needs to be addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants