{"action":"created","issue":{"url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/issues/49","repository_url":"https://api.github.com/repos/davidmoten/rxjava-jdbc","labels_url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/issues/49/comments","events_url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/issues/49/events","html_url":"https://github.com/davidmoten/rxjava-jdbc/pull/49","id":121015189,"number":49,"title":"Make unit test pass","user":{"login":"EmteZogaf","id":1272656,"avatar_url":"https://avatars.githubusercontent.com/u/1272656?v=3","gravatar_id":"","url":"https://api.github.com/users/EmteZogaf","html_url":"https://github.com/EmteZogaf","followers_url":"https://api.github.com/users/EmteZogaf/followers","following_url":"https://api.github.com/users/EmteZogaf/following{/other_user}","gists_url":"https://api.github.com/users/EmteZogaf/gists{/gist_id}","starred_url":"https://api.github.com/users/EmteZogaf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EmteZogaf/subscriptions","organizations_url":"https://api.github.com/users/EmteZogaf/orgs","repos_url":"https://api.github.com/users/EmteZogaf/repos","events_url":"https://api.github.com/users/EmteZogaf/events{/privacy}","received_events_url":"https://api.github.com/users/EmteZogaf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-12-08T14:16:00Z","updated_at":"2016-05-20T02:19:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/pulls/49","html_url":"https://github.com/davidmoten/rxjava-jdbc/pull/49","diff_url":"https://github.com/davidmoten/rxjava-jdbc/pull/49.diff","patch_url":"https://github.com/davidmoten/rxjava-jdbc/pull/49.patch"},"body":"I simply tried to fix any unit test error. I still get an NPE occasionally in [DatabaseAsyncTest#testPushEmptyList](https://github.com/davidmoten/rxjava-jdbc/blob/batch-updates-3/src/test/java/com/github/davidmoten/rx/jdbc/DatabaseTestBase.java#L255-L269), but it's not happening while debugging. Maybe a race condition?\r\n\r\n```\r\njava.lang.RuntimeException: java.sql.SQLException: failed to execute sql=update person set score = score + 1\r\n\tat rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:455)\r\n\tat rx.observables.BlockingObservable.single(BlockingObservable.java:331)\r\n\tat com.github.davidmoten.rx.jdbc.DatabaseTestBase.assertIs(DatabaseTestBase.java:959)\r\n\tat com.github.davidmoten.rx.jdbc.DatabaseTestBase.testPushEmptyList(DatabaseTestBase.java:268)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:606)\r\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)\r\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\r\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)\r\n\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\r\n\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)\r\n\tat org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)\r\nCaused by: java.sql.SQLException: failed to execute sql=update person set score = score + 1\r\n\tat com.github.davidmoten.rx.jdbc.QueryUpdateOnSubscribe.performUpdate(QueryUpdateOnSubscribe.java:236)\r\n\tat com.github.davidmoten.rx.jdbc.QueryUpdateOnSubscribe.call(QueryUpdateOnSubscribe.java:86)\r\n\tat com.github.davidmoten.rx.jdbc.QueryUpdateOnSubscribe.call(QueryUpdateOnSubscribe.java:1)\r\n\tat rx.Observable.unsafeSubscribe(Observable.java:7710)\r\n\tat rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62)\r\n\tat rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)\r\n\tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)\r\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:262)\r\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)\r\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\nCaused by: org.h2.jdbc.JdbcSQLException: General error: \"java.lang.NullPointerException\"\r\nGeneral error: \"java.lang.NullPointerException\" [50000-178]\r\n\tat org.h2.message.DbException.getJdbcSQLException(DbException.java:344)\r\n\tat org.h2.message.DbException.get(DbException.java:167)\r\n\tat org.h2.message.DbException.convert(DbException.java:294)\r\n\tat org.h2.message.DbException.toSQLException(DbException.java:267)\r\n\tat org.h2.message.TraceObject.logAndConvert(TraceObject.java:372)\r\n\tat org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:149)\r\n\tat com.github.davidmoten.rx.jdbc.PreparedStatementBatch.executeUpdate(PreparedStatementBatch.java:96)\r\n\tat com.github.davidmoten.rx.jdbc.QueryUpdateOnSubscribe.performUpdate(QueryUpdateOnSubscribe.java:220)\r\n\t... 12 more\r\nCaused by: java.lang.NullPointerException\r\n\tat org.h2.jdbc.JdbcStatement.setExecutingStatement(JdbcStatement.java:1032)\r\n\tat org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:160)\r\n\tat org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:144)\r\n\t... 14 more\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/issues/comments/220501460","html_url":"https://github.com/davidmoten/rxjava-jdbc/pull/49#issuecomment-220501460","issue_url":"https://api.github.com/repos/davidmoten/rxjava-jdbc/issues/49","id":220501460,"user":{"login":"thomasnield","id":7420801,"avatar_url":"https://avatars.githubusercontent.com/u/7420801?v=3","gravatar_id":"","url":"https://api.github.com/users/thomasnield","html_url":"https://github.com/thomasnield","followers_url":"https://api.github.com/users/thomasnield/followers","following_url":"https://api.github.com/users/thomasnield/following{/other_user}","gists_url":"https://api.github.com/users/thomasnield/gists{/gist_id}","starred_url":"https://api.github.com/users/thomasnield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomasnield/subscriptions","organizations_url":"https://api.github.com/users/thomasnield/orgs","repos_url":"https://api.github.com/users/thomasnield/repos","events_url":"https://api.github.com/users/thomasnield/events{/privacy}","received_events_url":"https://api.github.com/users/thomasnield/received_events","type":"User","site_admin":false},"created_at":"2016-05-20T02:19:17Z","updated_at":"2016-05-20T02:19:17Z","body":"What's the status on this? Do conflicts need to be resolved or is this requiring a sizable amount of review?"}}
{"actor":{"display_login":"thomasnield"}}