Grails null identifier error appearing sometimes without explanation - postgresql

I have a production app on grails 2.5.6 using postgres and deployed on tomcat 8. I sometimes have a null identifier exception when trying to save in any entity.
When i restart tomcat everything is fine.
My problem is the frequency is not know sometimes it's happens sometimes not,
if someone have any idea of this error is it possible to help.
{
2020-03-15 11:24:52,456 [http-nio-8080-exec-10] ERROR errors.GrailsExceptionResolver -
TransientObjectException occurred when processing request: [POST] /secur/pays/save
The given object has a null identifier: com.referentiel.Pays. Stacktrace follows:
org.hibernate.TransientObjectException: The given object has a null identifier: com.referentiel.Pays
at com.referentiel.PaysController.$tt__save(PaysController.groovy:138)
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at grails.plugin.multitenant.core.servlet.CurrentTenantServletFilter.doFilter(CurrentTenantServletFilter.java:53)
at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
}

Related

Tomcat throws java.lang.IllegalMonitorStateException: null when doing data writing, why?

SpringBoot's embeded tomcat throws a IllegalMonitorStateException when writing data back to some http request in our production environment. It happens more frequently at high load.
tomcat verion: tomcat-embed-core:9.0.31
Below is part of the stacktrace:
java.lang.IllegalMonitorStateException: null
at java.lang.Object.wait(Native Method)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1290)
at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:741)
at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:694)
at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:684)
THANKS.
You can try to upgrade the version to 9.0.32, as the part of the logic that you reported an error on, was reverted in 9.0.32.
https://github.com/apache/tomcat/commit/6e60713c75141bc00f03f08f759df993a6416c71

Jasper report runs in preview, but not jasper server

I have a report that is running a pretty big query, it returns a lot of data and also has a parameter that is going to used as an input control fro the report server. However the issue is that when I upload it to the server, it errors. This is the error log it gives
Error Message
Error filling report (Error UID: 9f1a27b4-5bb1-40df-ab67-23ff44f15d66)
Error Trace
com.jaspersoft.jasperserver.api.JSException: Error filling report Arguments: at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$FillResultListener.reportFillError(EngineServiceImpl.java:1336) at net.sf.jasperreports.engine.fill.BaseFillHandle.notifyError(BaseFillHandle.java:216) at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:138) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:961) at net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:169) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:912) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1840) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1159) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1088) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:983) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: net.sf.jasperreports.engine.JRException: Error executing SQL statement for: Financial_summary_report_test. at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:347) at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:166) at com.jaspersoft.commons.util.JSControlledJdbcQueryExecuter.createDatasource(JSControlledJdbcQueryExecuter.java:111) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1245) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:723) at net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:429) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:570) at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:123) ... 10 more Caused by: org.postgresql.util.PSQLException: ERROR: transaction is read-only Detail: at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:310) ... 17 more
The errors don't mean much to me, and I don't find them all that helpful, I can tell that there are errors for: Error filling report Arguments, Caused by: net.sf.jasperreports.engine.JRException: Error executing SQL statement for, ERROR: transaction is read-only Detail: at. Does anybody actually know what it means?
Again it will work in studio, but not jasper report server. I did a smaller test report and it ran on the server just fine...

SAXNotRecognizedException in Play for Scala 2.6

I'm migrating from Play 2.5 to 2.6, the application compiles with no issues, but when I start Play I get the exception below. The error mentions AkkaHttpServer - the new default HTTP server in Play 2.6. I tried adding to application.conf the Akka HTTP server standard configuration taken from Play's website but I still get the same error.
Looking at the SAX Exception it says that there's a property not recognized by the parser. Any ideas how to fix this?
play.api.UnexpectedException: Unexpected
exception[ExceptionInInitializerError: null]
at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:190)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:124)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:202)
at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:117)
at akka.stream.impl.fusing.MapAsync$$anon$25.onPush(Ops.scala:1194)
at akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:519)
at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:482)
at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:378)
at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:585)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:469)
Caused by: java.lang.ExceptionInInitializerError: null
at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:177)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:124)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:202)
at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:117)
at akka.stream.impl.fusing.MapAsync$$anon$25.onPush(Ops.scala:1194)
at akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:519)
at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:482)
at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:378)
at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:585)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:469)
Caused by: org.xml.sax.SAXNotRecognizedException:
http://apache.org/xml/features/disallow-doctype-decl
at org.apache.xerces.parsers.AbstractSAXParser.setFeature(AbstractSAXParser.java:1508)
at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java:145)
at org.apache.xerces.jaxp.SAXParserImpl.(SAXParserImpl.java:128)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:112)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:140)
at play.api.Play$.(Play.scala:58)
at play.api.Play$.(Play.scala)
at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:177)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:124)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:202)
After long hours of trial an error, I discovered that changing the version of commons-dbcp from 1.2 to 1.4 fixed the problem. The error message doesn't seem to point to the resolution.

Apache Zeppelin postgres Null Pointer Exception

I try to connect a query a remote postgres database -
%psql.sql
select * from my_schema.my_table limit 5
I have updated the interpreter values but I still get the following error -
java.lang.NullPointerException at
org.apache.zeppelin.postgresql.PostgreSqlInterpreter.executeSql(PostgreSqlInterpreter.java:201)
at
org.apache.zeppelin.postgresql.PostgreSqlInterpreter.interpret(PostgreSqlInterpreter.java:288)
at
org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57)
at
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
at
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:302)
at org.apache.zeppelin.scheduler.Job.run(Job.java:171) at
org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266) at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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:745)
I tried accessing from shell but got an error -
Process exited with an error: 2 (Exit value: 2)
I suspect that it relates to the fact that it tries to get a password. However the same command + the password works on my terminal.
The other related issue is that the properties in the interpreter does not contain database name. I add it as postgresql.database but I am not sure if this property is used.
Please let me know if you have any idea how to solve it, Thanks!
Your property postgresql.database will not be picked by zeppelin.
Specify database name in postgres jdbc URL property. Like jdbc:postgresql://host:port/database
Refer, https://jdbc.postgresql.org/documentation/80/connect.html for more detail on postgres jdbc URL
Some of your credentials might be wrong. I had the username typed incorrectly and got something similar:
java.lang.NullPointerException at
org.apache.zeppelin.postgresql.PostgreSqlInterpreter.executeSql(PostgreSqlInterpreter.java:202)

com.google.cloud.sql.jdbc.internal.ClientSideClob causes 500 error, apps are unusable

Woke up this morning with this error coming from google.cloud.sql.jdbc
We have been using the OData library Oligno v2 for months and for no apparent reason this morning it stopped working. Our apps and services are down.
{"error":{"code":null,"message":{"lang":"en","value":"\"OData - JPA
Runtime: JPA query syntax is not correct\""},"innererror":"class
org.eclipse.persistence.exceptions.ConversionException : \nException
Description: The object [], of class [class
com.google.cloud.sql.jdbc.internal.ClientSideClob], could not be
converted to [class java.lang.String].\nInternal Exception: Exception
[EclipseLink-4002] (Eclipse Persistence Services -
2.4.2.v20130514-5956486): org.eclipse.persistence.exceptions.DatabaseException\nInternal
Exception: java.sql.SQLException: Invalid parameter for pos value
1\nError Code: 0"}}
Setup:
java google app engine
angular app on the front
Java EE backend with the oligno v2 library https://olingo.apache.org/doc/odata2/download.html
simply calling something like http://app.server/odata.svc/Tasks returns this error, it's like the oData library is not compatible anymore with GAE and Cloud SQL
There is an issue with the connection, here is the discussion: https://groups.google.com/forum/#!topic/google-appengine/Oc-wJvvCXgE
Please fill out this form if issue still persists:
https://code.google.com/p/googleappengine/issues/detail?id=12066&thanks=12066&ts=1434572430