{"action":"created","issue":{"url":"https://api.github.com/repos/spark-jobserver/spark-jobserver/issues/486","repository_url":"https://api.github.com/repos/spark-jobserver/spark-jobserver","labels_url":"https://api.github.com/repos/spark-jobserver/spark-jobserver/issues/486/labels{/name}","comments_url":"https://api.github.com/repos/spark-jobserver/spark-jobserver/issues/486/comments","events_url":"https://api.github.com/repos/spark-jobserver/spark-jobserver/issues/486/events","html_url":"https://github.com/spark-jobserver/spark-jobserver/issues/486","id":158540784,"number":486,"title":"sqldao with jdbc:postgresql is using h2","user":{"login":"nvijayap","id":881245,"avatar_url":"https://avatars.githubusercontent.com/u/881245?v=3","gravatar_id":"","url":"https://api.github.com/users/nvijayap","html_url":"https://github.com/nvijayap","followers_url":"https://api.github.com/users/nvijayap/followers","following_url":"https://api.github.com/users/nvijayap/following{/other_user}","gists_url":"https://api.github.com/users/nvijayap/gists{/gist_id}","starred_url":"https://api.github.com/users/nvijayap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvijayap/subscriptions","organizations_url":"https://api.github.com/users/nvijayap/orgs","repos_url":"https://api.github.com/users/nvijayap/repos","events_url":"https://api.github.com/users/nvijayap/events{/privacy}","received_events_url":"https://api.github.com/users/nvijayap/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-06-05T06:44:47Z","updated_at":"2016-06-06T14:16:30Z","closed_at":null,"body":"Hello,\r\nI am trying to use sqldao with postgres ; My a.conf has jdbc:postgres, but h2 is getting used, and the jobserver fails to start up ; Here's full log ...\r\n```\r\n[2016-06-05 02:31:39,711] INFO  spark.jobserver.JobServer$ [] [] - Starting JobServer with config {\r\n    # system properties\r\n    \"app\" : {\r\n        # system properties\r\n        \"name\" : \"spark.jobserver.JobServer\"\r\n    },\r\n    # merge of /Users/nv/jdbc/sjs/a.conf: 40,application.conf: 101\r\n    # universal context configuration.  These settings can be overridden, see README.md\r\n    # Default settings for ad hoc as well as manually created contexts\r\n    # You can add any Spark config params here, for example, spark.mesos.coarse = true\r\n    \"context-settings\" : {\r\n        # application.conf: 107\r\n        # A zero-arg class implementing spark.jobserver.context.SparkContextFactory\r\n        # Determines the type of jobs that can run in a SparkContext\r\n        \"context-factory\" : \"spark.jobserver.context.DefaultSparkContextFactory\",\r\n        # application.conf: 125\r\n        # Timeout for SupervisorActor to wait for forked (separate JVM) contexts to initialize\r\n        \"context-init-timeout\" : \"60s\",\r\n        # /Users/nv/jdbc/sjs/a.conf: 42\r\n        # Executor memory per node, -Xmx style eg 512m, #1G, etc.\r\n        \"memory-per-node\" : \"512m\",\r\n        # /Users/nv/jdbc/sjs/a.conf: 41\r\n        # Number of cores to allocate.  Required.\r\n        \"num-cpu-cores\" : 2,\r\n        # application.conf: 127\r\n        \"passthrough\" : {\r\n            # application.conf: 128\r\n            \"spark\" : {\r\n                # application.conf: 128\r\n                \"driver\" : {\r\n                    # application.conf: 128\r\n                    # Ignore the Multiple context exception related with SPARK-2243\r\n                    \"allowMultipleContexts\" : true\r\n                }\r\n            }\r\n        },\r\n        # application.conf: 109\r\n        \"streaming\" : {\r\n            # application.conf: 111\r\n            # Default batch interval for Spark Streaming contexts in milliseconds\r\n            \"batch_interval\" : 1000,\r\n            # application.conf: 114\r\n            # if true, stops gracefully by waiting for the processing of all received data to be completed\r\n            \"stopGracefully\" : true,\r\n            # application.conf: 118\r\n            # if true, stops the SparkContext with the StreamingContext. The underlying SparkContext will be\r\n            # stopped regardless of whether the StreamingContext has been started.\r\n            \"stopSparkContext\" : true\r\n        }\r\n    },\r\n    # application.conf: 91\r\n    # predefined Spark contexts\r\n    # Below is an example, but do not uncomment it.   Everything defined here is carried over to\r\n    # deploy-time configs, so they will be created in all environments.  :(\r\n    \"contexts\" : {},\r\n    # system properties\r\n    \"driver\" : {\r\n        # system properties\r\n        \"extraJavaOptions\" : \"-XX:+UseConcMarkSweepGC\\n         -verbose:gc -XX:+PrintGCTimeStamps -Xloggc:/Users/nv/jdbc/sjs/gc.out\\n         -XX:MaxPermSize=512m\\n         -XX:+CMSClassUnloadingEnabled  -XX:MaxDirectMemorySize=512M            -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true            -Dcom.sun.management.jmxremote.port=9999            -Dcom.sun.management.jmxremote.rmi.port=9999            -Dcom.sun.management.jmxremote.authenticate=false            -Dcom.sun.management.jmxremote.ssl=false -Dlog4j.configuration=file:/Users/nv/jdbc/sjs/log4j-server.properties\\n              -DLOG_DIR=/var/log/job-server -Dspark.executor.uri=/home/spark/spark-1.6.0.tar.gz \",\r\n        # system properties\r\n        \"memory\" : \"1G\"\r\n    },\r\n    # system properties\r\n    \"executor\" : {\r\n        # system properties\r\n        \"extraJavaOptions\" : \"-Dlog4j.configuration=file:/Users/nv/jdbc/sjs/log4j-server.properties\\n              -DLOG_DIR=/var/log/job-server\",\r\n        # system properties\r\n        \"uri\" : \"/home/spark/spark-1.6.0.tar.gz\"\r\n    },\r\n    # system properties\r\n    \"jars\" : \"file:/Users/nv/jdbc/sjs/postgresql-9.4.1208.jar,file:/Users/nv/jdbc/sjs/spark-job-server.jar\",\r\n    # /Users/nv/jdbc/sjs/a.conf: 12\r\n    # Default # of CPUs for jobs to use for Spark standalone cluster\r\n    \"job-number-cpus\" : 4,\r\n    # merge of /Users/nv/jdbc/sjs/a.conf: 14,application.conf: 7\r\n    \"jobserver\" : {\r\n        # application.conf: 9\r\n        \"bind-address\" : \"0.0.0.0\",\r\n        # application.conf: 70\r\n        # Time out for job server to wait while creating contexts\r\n        \"context-creation-timeout\" : \"60 s\",\r\n        # /Users/nv/jdbc/sjs/a.conf: 18\r\n        \"context-per-jvm\" : false,\r\n        # application.conf: 28\r\n        \"datadao\" : {\r\n            # application.conf: 31\r\n            # storage directory for files that are uploaded to the server\r\n            # via POST/data commands\r\n            \"rootdir\" : \"/tmp/spark-jobserver/upload\"\r\n        },\r\n        # application.conf: 24\r\n        \"filedao\" : {\r\n            # application.conf: 25\r\n            \"rootdir\" : \"/tmp/spark-jobserver/filedao/data\"\r\n        },\r\n        # /Users/nv/jdbc/sjs/a.conf: 16\r\n        \"jar-store-rootdir\" : \"jars\",\r\n        # application.conf: 15\r\n        # Number of job results to keep per JobResultActor/context\r\n        \"job-result-cache-size\" : 5000,\r\n        # /Users/nv/jdbc/sjs/a.conf: 20\r\n        \"jobdao\" : \"spark.jobserver.io.JobSqlDAO\",\r\n        # application.conf: 77\r\n        # Number of jobs that can be run simultaneously per context\r\n        # If not set, defaults to number of cores on machine where jobserver is running\r\n        \"max-jobs-per-context\" : 8,\r\n        # application.conf: 73\r\n        # Time out for job server to wait while creating named objects\r\n        \"named-object-creation-timeout\" : \"60 s\",\r\n        # /Users/nv/jdbc/sjs/a.conf: 15\r\n        \"port\" : 8090,\r\n        # /Users/nv/jdbc/sjs/a.conf: 27\r\n        # When using chunked transfer encoding with scala Stream job results, this is the size of each chunk\r\n        \"result-chunk-size\" : \"1m\",\r\n        # application.conf: 67\r\n        # The ask pattern timeout for Api\r\n        \"short-timeout\" : \"3 s\",\r\n        # merge of /Users/nv/jdbc/sjs/a.conf: 22,application.conf: 40\r\n        \"sqldao\" : {\r\n            # application.conf: 59\r\n            # DB connection pool settings\r\n            \"dbcp\" : {\r\n                # application.conf: 62\r\n                \"initialsize\" : 10,\r\n                # application.conf: 60\r\n                \"maxactive\" : 20,\r\n                # application.conf: 61\r\n                \"maxidle\" : 10\r\n            },\r\n            # merge of /Users/nv/jdbc/sjs/a.conf: 23,application.conf: 52\r\n            # Full JDBC URL / init string, along with username and password.  Sorry, needs to match above.\r\n            # Substitutions may be used to launch job-server, but leave it out here in the default or tests won't pass\r\n            \"jdbc\" : {\r\n                # application.conf: 55\r\n                \"password\" : \"\",\r\n                # /Users/nv/jdbc/sjs/a.conf: 23\r\n                \"url\" : \"jdbc:postgresql://localhost:5433/sjs?user=postgres&password=xxxxx\",\r\n                # application.conf: 54\r\n                \"user\" : \"\"\r\n            },\r\n            # application.conf: 45\r\n            # JDBC driver, full classpath\r\n            \"jdbc-driver\" : \"org.h2.Driver\",\r\n            # application.conf: 48\r\n            # Directory where default H2 driver stores its data. Only needed for H2.\r\n            \"rootdir\" : \"/tmp/spark-jobserver/sqldao/data\",\r\n            # application.conf: 42\r\n            # Slick database driver, full classpath\r\n            \"slick-driver\" : \"scala.slick.driver.H2Driver\"\r\n        },\r\n        # application.conf: 85\r\n        # spark broadcst factory in yarn deployment\r\n        # Versions prior to 1.1.0, spark default broadcast factory is org.apache.spark.broadcast.HttpBroadcastFactory.\r\n        # Can't start multiple sparkContexts in the same JVM with HttpBroadcastFactory.\r\n        \"yarn-broadcast-factory\" : \"org.apache.spark.broadcast.TorrentBroadcastFactory\",\r\n        # application.conf: 80\r\n        # in yarn deployment, time out for job server to wait while creating contexts\r\n        \"yarn-context-creation-timeout\" : \"40 s\"\r\n    },\r\n    # /Users/nv/jdbc/sjs/a.conf: 7\r\n    # spark.master will be passed to each job's JobContext\r\n    \"master\" : \"local[4]\",\r\n    # system properties\r\n    \"submit\" : {\r\n        # system properties\r\n        \"deployMode\" : \"client\"\r\n    },\r\n    # application.conf: 5\r\n    # spark web UI port\r\n    \"webUrlPort\" : 8080\r\n}\r\n\r\n[2016-06-05 02:31:39,713] INFO  spark.jobserver.JobServer$ [] [] - Spray config: {\r\n    # reference.conf: 1672\r\n    # Enables/disables automatic back-pressure handling by write buffering and\r\n    # receive throttling\r\n    \"automatic-back-pressure-handling\" : \"on\",\r\n    # reference.conf: 1674\r\n    \"back-pressure\" : {\r\n        # reference.conf: 1678\r\n        # The reciprocal rate of requested Acks per NoAcks. E.g. the default value\r\n        # '10' means that every 10th write request is acknowledged. This affects the\r\n        # number of writes each connection has to buffer even in absence of back-pressure.\r\n        \"noack-rate\" : 10,\r\n        # reference.conf: 1683\r\n        # The lower limit the write queue size has to shrink to before reads are resumed.\r\n        # Use 'infinite' to disable the low-watermark so that reading is resumed instantly\r\n        # after the next successful write.\r\n        \"reading-low-watermark\" : \"infinite\"\r\n    },\r\n    # reference.conf: 1640\r\n    # The time period within which the TCP binding process must be completed.\r\n    # Set to `infinite` to disable.\r\n    \"bind-timeout\" : \"1s\",\r\n    # reference.conf: 1559\r\n    # The period during which a service must respond to a `ChunkedRequestStart` message\r\n    # with a `RegisterChunkHandler` message. During the registration period reading from\r\n    # the network is suspended. It is still possible that some chunks have already been\r\n    # received which will be buffered until the registration is received or the timeout is\r\n    # triggered. If the timeout is triggered the connection is immediately aborted.\r\n    \"chunkhandler-registration-timeout\" : \"500 ms\",\r\n    # reference.conf: 1602\r\n    # Enables/disables an alternative response streaming mode that doesn't\r\n    # use `Transfer-Encoding: chunked` but rather renders the individual\r\n    # MessageChunks coming in from the application as parts of the original\r\n    # response entity.\r\n    # Enabling this mode causes all connections to be closed after a streaming\r\n    # response has been finished since there is no other way to signal the\r\n    # response end to the client.\r\n    # Note that chunkless-streaming is implicitly enabled when streaming\r\n    # responses to HTTP/1.0 clients (since they don't support\r\n    # `Transfer-Encoding: chunked`)\r\n    \"chunkless-streaming\" : \"off\",\r\n    # application.conf: 190\r\n    # Needed for HTTP/1.0 requests with missing Host headers\r\n    \"default-host-header\" : \"spray.io:8765\",\r\n    # application.conf: 185\r\n    # ssl engine provider protocols\r\n    \"enabledProtocols\" : [\r\n        # application.conf: 185\r\n        \"SSLv3\",\r\n        # application.conf: 185\r\n        \"TLSv1\"\r\n    ],\r\n    # application.conf: 180\r\n    # see http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext for more examples\r\n    # typical are either SSL or TLS\r\n    \"encryptionType\" : \"SSL\",\r\n    # application.conf: 186\r\n    \"idle-timeout\" : \"60 s\",\r\n    # application.conf: 181\r\n    \"keystoreType\" : \"JKS\",\r\n    # reference.conf: 1636\r\n    # For HTTPS connections this setting specified the maximum number of\r\n    # bytes that are encrypted in one go. Large responses are broken down in\r\n    # chunks of this size so as to already begin sending before the response has\r\n    # been encrypted entirely.\r\n    \"max-encryption-chunk-size\" : \"1m\",\r\n    # merge of application.conf: 193,reference.conf: 1824\r\n    # The (default) configuration of the HTTP message parser for the server and\r\n    # the client.\r\n    # IMPORTANT: These settings (i.e. children of `spray.can.parsing`) can't be directly\r\n    # overridden in `application.conf` to change the parser settings for client and server\r\n    # altogether (see https://github.com/spray/spray/issues/346). Instead, override the\r\n    # concrete settings beneath `spray.can.server.parsing` and `spray.can.client.parsing`\r\n    # where these settings are copied to.\r\n    \"parsing\" : {\r\n        # reference.conf: 1861\r\n        # limits for the number of different values per header type that the\r\n        # header cache will hold\r\n        \"header-cache\" : {\r\n            # reference.conf: 1863\r\n            \"Content-MD5\" : 0,\r\n            # reference.conf: 1864\r\n            \"Date\" : 0,\r\n            # reference.conf: 1865\r\n            \"If-Match\" : 0,\r\n            # reference.conf: 1866\r\n            \"If-Modified-Since\" : 0,\r\n            # reference.conf: 1867\r\n            \"If-None-Match\" : 0,\r\n            # reference.conf: 1868\r\n            \"If-Range\" : 0,\r\n            # reference.conf: 1869\r\n            \"If-Unmodified-Since\" : 0,\r\n            # reference.conf: 1870\r\n            \"User-Agent\" : 32,\r\n            # reference.conf: 1862\r\n            \"default\" : 12\r\n        },\r\n        # reference.conf: 1857\r\n        # Enables/disables the logging of warning messages in case an incoming\r\n        # message (request or response) contains an HTTP header which cannot be\r\n        # parsed into its high-level model class due to incompatible syntax.\r\n        # Note that, independently of this settings, spray will accept messages\r\n        # with such headers as long as the message as a whole would still be legal\r\n        # under the HTTP specification even without this header.\r\n        # If a header cannot be parsed into a high-level model instance it will be\r\n        # provided as a `RawHeader`.\r\n        \"illegal-header-warnings\" : \"on\",\r\n        # reference.conf: 1876\r\n        # Sets the size starting from which incoming http-messages will be delivered\r\n        # in chunks regardless of whether chunking is actually used on the wire.\r\n        # Set to infinite to disable auto chunking.\r\n        \"incoming-auto-chunking-threshold-size\" : \"infinite\",\r\n        # reference.conf: 1832\r\n        \"max-chunk-ext-length\" : 256,\r\n        # reference.conf: 1833\r\n        \"max-chunk-size\" : \"1m\",\r\n        # application.conf: 193\r\n        # Increase this in order to upload bigger job jars\r\n        \"max-content-length\" : \"30m\",\r\n        # reference.conf: 1830\r\n        \"max-header-count\" : 64,\r\n        # reference.conf: 1828\r\n        \"max-header-name-length\" : 64,\r\n        # reference.conf: 1829\r\n        \"max-header-value-length\" : \"8k\",\r\n        # reference.conf: 1827\r\n        \"max-response-reason-length\" : 64,\r\n        # reference.conf: 1826\r\n        # The limits for the various parts of the HTTP message parser.\r\n        \"max-uri-length\" : \"2k\",\r\n        # reference.conf: 1881\r\n        # Enables/disables inclusion of an SSL-Session-Info header in parsed\r\n        # messages over SSL transports (i.e., HttpRequest on server side and\r\n        # HttpResponse on client side).\r\n        \"ssl-session-info-header\" : \"off\",\r\n        # reference.conf: 1847\r\n        # Sets the strictness mode for parsing request target URIs.\r\n        # The following values are defined:\r\n        # \r\n        # `strict`: RFC3986-compliant URIs are required,\r\n        #     a 400 response is triggered on violations\r\n        # \r\n        # `relaxed`: all visible 7-Bit ASCII chars are allowed\r\n        # \r\n        # `relaxed-with-raw-query`: like `relaxed` but additionally\r\n        #     the URI query is not parsed, but delivered as one raw string\r\n        #     as the `key` value of a single Query structure element.\r\n        # \r\n        \"uri-parsing-mode\" : \"strict\"\r\n    },\r\n    # reference.conf: 1658\r\n    # The time after which a connection is aborted (RST) after a parsing error\r\n    # occurred. The timeout prevents a connection which is already known to be\r\n    # erroneous from receiving evermore data even if all of the data will be ignored.\r\n    # However, in case of a connection abortion the client usually doesn't properly\r\n    # receive the error response. This timeout is a trade-off which allows the client\r\n    # some time to finish its request and receive a proper error response before the\r\n    # connection is forcibly closed to free resources.\r\n    \"parsing-error-abort-timeout\" : \"2s\",\r\n    # application.conf: 188\r\n    # for maximum performance (prevents StopReading / ResumeReading messages to the IOBridge)\r\n    \"pipelining-limit\" : 2,\r\n    # application.conf: 183\r\n    # key manager factory provider\r\n    \"provider\" : \"SunX509\",\r\n    # reference.conf: 1582\r\n    # Enables/disables the addition of a `Raw-Request-URI` header holding the\r\n    # original raw request URI as the client has sent it.\r\n    \"raw-request-uri-header\" : \"off\",\r\n    # reference.conf: 1569\r\n    # The \"granularity\" of timeout checking for both idle connections timeouts\r\n    # as well as request timeouts, should rarely be needed to modify.\r\n    # If set to `infinite` request and connection timeout checking is disabled.\r\n    \"reaping-cycle\" : \"250 ms\",\r\n    # reference.conf: 1649\r\n    # The time period within which a connection handler must have been\r\n    # registered after the bind handler has received a `Connected` event.\r\n    # Set to `infinite` to disable.\r\n    \"registration-timeout\" : \"1s\",\r\n    # reference.conf: 1578\r\n    # Enables/disables the addition of a `Remote-Address` header\r\n    # holding the clients (remote) IP address.\r\n    \"remote-address-header\" : \"off\",\r\n    # reference.conf: 1625\r\n    # If this setting is non-zero the HTTP server automatically aggregates\r\n    # incoming request chunks into full HttpRequests before dispatching them to\r\n    # the application. If the size of the aggregated requests surpasses the\r\n    # specified limit the server responds with a `413 Request Entity Too Large`\r\n    # error response before closing the connection.\r\n    # Set to zero to disable automatic request chunk aggregation and have\r\n    # ChunkedRequestStart, MessageChunk and ChunkedMessageEnd messages be\r\n    # dispatched to the handler.\r\n    \"request-chunk-aggregation-limit\" : \"1m\",\r\n    # application.conf: 187\r\n    \"request-timeout\" : \"40 s\",\r\n    # reference.conf: 1630\r\n    # The initial size if the buffer to render the response headers in.\r\n    # Can be used for fine-tuning response rendering performance but probably\r\n    # doesn't have to be fiddled with in most applications.\r\n    \"response-header-size-hint\" : 512,\r\n    # reference.conf: 1517-2132\r\n    # Always contains the deployed version of spray.\r\n    # Referenced, for example, from the `spray.can.server.server-header` setting.\r\n    \"server-header\" : \"spray-can/1.3.3\",\r\n    # reference.conf: 1523\r\n    # Enables/disables SSL encryption.\r\n    # If enabled the server uses the implicit `ServerSSLEngineProvider` member\r\n    # of the `Bind` command to create `SSLEngine` instances for the underlying\r\n    # IO connection.\r\n    \"ssl-encryption\" : \"off\",\r\n    # reference.conf: 1687\r\n    # Enables more verbose DEBUG logging for debugging SSL related issues.\r\n    \"ssl-tracing\" : \"off\",\r\n    # reference.conf: 1574\r\n    # Enables/disables support for statistics collection and querying.\r\n    # Even though stats keeping overhead is small,\r\n    # for maximum performance switch off when not needed.\r\n    \"stats-support\" : \"on\",\r\n    # reference.conf: 1564\r\n    # The path of the actor to send `spray.http.Timedout` messages to.\r\n    # If empty all `Timedout` messages will go to the \"regular\" request\r\n    # handling actor.\r\n    \"timeout-handler\" : \"\",\r\n    # reference.conf: 1552\r\n    # After a `Timedout` message has been sent to the timeout handler and the\r\n    # request still hasn't been completed after the time period set here\r\n    # the server will complete the request itself with an error response.\r\n    # Set to `infinite` to disable timeout timeouts.\r\n    \"timeout-timeout\" : \"2 s\",\r\n    # reference.conf: 1590\r\n    # Enables/disables automatic handling of HEAD requests.\r\n    # If this setting is enabled the server dispatches HEAD requests as GET\r\n    # requests to the application and automatically strips off all message\r\n    # bodies from outgoing responses.\r\n    # Note that, even when this setting is off the server will never send\r\n    # out message bodies on responses to HEAD requests.\r\n    \"transparent-head-requests\" : \"on\",\r\n    # reference.conf: 1644\r\n    # The time period within which the TCP unbinding process must be completed.\r\n    # Set to `infinite` to disable.\r\n    \"unbind-timeout\" : \"1s\",\r\n    # reference.conf: 1615\r\n    # Enables/disables the logging of the full (potentially multiple line)\r\n    # error message to the server logs.\r\n    # If disabled only a single line will be logged.\r\n    \"verbose-error-logging\" : \"off\",\r\n    # reference.conf: 1610\r\n    # Enables/disables the returning of more detailed error messages to\r\n    # the client in the error response.\r\n    # Should be disabled for browser-facing APIs due to the risk of XSS attacks\r\n    # and (probably) enabled for internal or non-browser APIs.\r\n    # Note that spray will always produce log messages containing the full\r\n    # error details.\r\n    \"verbose-error-messages\" : \"off\"\r\n}\r\n\r\n[2016-06-05 02:31:39,904] INFO  ka.event.slf4j.Slf4jLogger [] [] - Slf4jLogger started\r\n[2016-06-05 02:31:39,946] INFO  Remoting [] [Remoting] - Starting remoting\r\n[2016-06-05 02:31:40,058] INFO  Remoting [] [Remoting] - Remoting started; listening on addresses :[akka.tcp://JobServer@127.0.0.1:50135]\r\n[2016-06-05 02:31:40,068] INFO  Cluster(akka://JobServer) [] [Cluster(akka://JobServer)] - Cluster Node [akka.tcp://JobServer@127.0.0.1:50135] - Starting up...\r\n[2016-06-05 02:31:40,089] INFO  Cluster(akka://JobServer) [] [Cluster(akka://JobServer)] - Cluster Node [akka.tcp://JobServer@127.0.0.1:50135] - Registered cluster JMX MBean [akka:type=Cluster]\r\n[2016-06-05 02:31:40,090] INFO  Cluster(akka://JobServer) [] [Cluster(akka://JobServer)] - Cluster Node [akka.tcp://JobServer@127.0.0.1:50135] - Started up successfully\r\n[2016-06-05 02:31:40,101] INFO  Cluster(akka://JobServer) [] [Cluster(akka://JobServer)] - Cluster Node [akka.tcp://JobServer@127.0.0.1:50135] - No seed-nodes configured, manual cluster join required\r\n[2016-06-05 02:31:40,513] INFO  ark.jobserver.io.JobSqlDAO [] [] - rootDir is /tmp/spark-jobserver/sqldao/data\r\n[2016-06-05 02:31:40,556] INFO  ternal.util.VersionPrinter [] [] - Flyway 3.2.1 by Boxfuse\r\n[2016-06-05 02:31:40,613] INFO  dbsupport.DbSupportFactory [] [] - Database: jdbc:postgresql://localhost:5433/sjs?user=postgres&password=xxxxx (PostgreSQL 9.5)\r\n[2016-06-05 02:31:40,737] INFO  nternal.command.DbValidate [] [] - Validated 1 migration (execution time 00:00.062s)\r\n[2016-06-05 02:31:40,759] INFO  internal.command.DbMigrate [] [] - Current version of schema \"public\": << Empty Schema >>\r\n[2016-06-05 02:31:40,759] INFO  internal.command.DbMigrate [] [] - Migrating schema \"public\" to version 0.7.0 - init tables\r\n[2016-06-05 02:31:40,769] ERROR internal.command.DbMigrate [] [] - Migration of schema \"public\" to version 0.7.0 failed! Changes successfully rolled back.\r\n[2016-06-05 02:31:40,770] ERROR spark.jobserver.JobServer$ [] [] - Unable to start Spark JobServer: \r\njava.lang.reflect.InvocationTargetException\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:422)\r\n\tat spark.jobserver.JobServer$.start(JobServer.scala:58)\r\n\tat spark.jobserver.JobServer$.main(JobServer.scala:130)\r\n\tat spark.jobserver.JobServer.main(JobServer.scala)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:497)\r\n\tat org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)\r\n\tat org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)\r\n\tat org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)\r\n\tat org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)\r\n\tat org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)\r\nCaused by: org.flywaydb.core.internal.dbsupport.FlywaySqlScriptException: \r\nMigration V0_7_0__init_tables.sql failed\r\n----------------------------------------\r\nSQL State  : 42601\r\nError Code : 0\r\nMessage    : ERROR: syntax error at or near \"AUTO_INCREMENT\"\r\n  Position: 55\r\nLocation   : db/h2/migration/V0_7_0__init_tables.sql (/Users/nv/jdbc/sjs/file:/Users/nv/jdbc/sjs/spark-job-server.jar!/db/h2/migration/V0_7_0__init_tables.sql)\r\nLine       : 1\r\nStatement  : CREATE TABLE JARS (\r\n  JAR_ID       BIGINT             AUTO_INCREMENT NOT NULL PRIMARY KEY,\r\n  APP_NAME     VARCHAR(255)       NOT NULL,\r\n  UPLOAD_TIME  TIMESTAMP          NOT NULL,\r\n  JAR          BYTEA              NOT NULL\r\n)\r\n\r\n\tat org.flywaydb.core.internal.dbsupport.SqlScript.execute(SqlScript.java:117)\r\n\tat org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.execute(SqlMigrationExecutor.java:71)\r\n\tat org.flywaydb.core.internal.command.DbMigrate$5.doInTransaction(DbMigrate.java:284)\r\n\tat org.flywaydb.core.internal.command.DbMigrate$5.doInTransaction(DbMigrate.java:282)\r\n\tat org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:72)\r\n\tat org.flywaydb.core.internal.command.DbMigrate.applyMigration(DbMigrate.java:282)\r\n\tat org.flywaydb.core.internal.command.DbMigrate.access$800(DbMigrate.java:46)\r\n\tat org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:207)\r\n\tat org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:156)\r\n\tat org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:72)\r\n\tat org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:156)\r\n\tat org.flywaydb.core.Flyway$1.execute(Flyway.java:1059)\r\n\tat org.flywaydb.core.Flyway$1.execute(Flyway.java:1006)\r\n\tat org.flywaydb.core.Flyway.execute(Flyway.java:1418)\r\n\tat org.flywaydb.core.Flyway.migrate(Flyway.java:1006)\r\n\tat spark.jobserver.io.JobSqlDAO.init(JobSqlDAO.scala:103)\r\n\tat spark.jobserver.io.JobSqlDAO.<init>(JobSqlDAO.scala:88)\r\n\t... 16 more\r\nCaused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near \"AUTO_INCREMENT\"\r\n  Position: 55\r\n\tat org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2284)\r\n\tat org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2003)\r\n\tat org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:200)\r\n\tat org.postgresql.jdbc.PgStatement.execute(PgStatement.java:424)\r\n\tat org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:321)\r\n\tat org.postgresql.jdbc.PgStatement.execute(PgStatement.java:313)\r\n\tat org.flywaydb.core.internal.dbsupport.JdbcTemplate.executeStatement(JdbcTemplate.java:238)\r\n\tat org.flywaydb.core.internal.dbsupport.SqlScript.execute(SqlScript.java:114)\r\n\t... 32 more\r\n```"},"comment":{"url":"https://api.github.com/repos/spark-jobserver/spark-jobserver/issues/comments/223971931","html_url":"https://github.com/spark-jobserver/spark-jobserver/issues/486#issuecomment-223971931","issue_url":"https://api.github.com/repos/spark-jobserver/spark-jobserver/issues/486","id":223971931,"user":{"login":"hntd187","id":6778339,"avatar_url":"https://avatars.githubusercontent.com/u/6778339?v=3","gravatar_id":"","url":"https://api.github.com/users/hntd187","html_url":"https://github.com/hntd187","followers_url":"https://api.github.com/users/hntd187/followers","following_url":"https://api.github.com/users/hntd187/following{/other_user}","gists_url":"https://api.github.com/users/hntd187/gists{/gist_id}","starred_url":"https://api.github.com/users/hntd187/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hntd187/subscriptions","organizations_url":"https://api.github.com/users/hntd187/orgs","repos_url":"https://api.github.com/users/hntd187/repos","events_url":"https://api.github.com/users/hntd187/events{/privacy}","received_events_url":"https://api.github.com/users/hntd187/received_events","type":"User","site_admin":false},"created_at":"2016-06-06T14:16:30Z","updated_at":"2016-06-06T14:16:30Z","body":"change \r\n```\"slick-driver\" : \"scala.slick.driver.H2Driver\"``` in your config to\r\n```\"slick-driver\" : \"scala.slick.driver.PostgresDriver\"```\r\n\r\nYou aren't specifying the correct driver for slick, so it's still using the H2 (which is default)"}}
{"actor":{"display_login":"hntd187"}}