Hi,
I have a mongo replica set that requires client authentication. When I access it via the normal Java mongo driver (that is the non-vertx driver), I have no problem getting authenticated and making queries. But, I can't seem to replicate the same process using vertx+JS.
The main exception seems to be around this line in the exception: TypeError: function invoked with invalid arguments in <eval>#88:17<eval> at line number 260 at column number 11 ... but this does not seem to be part of my JS code (as I do not have a line 260), but it looks to be an invalid arguemnt call in the driver JS code.... any thoughts?
Here is my JS code:
var mongoConfig = {host: "localhost", port: 8000, db_name: "books", replicaSet:"rs0", authSource : "admin", username: "adam", password: "54321"};
var MongoClient = require("vertx-mongo-js/mongo_client");
var mongoClient = MongoClient.createShared(vertx, mongoConfig);
vertx.setTimer(myMain, 5000);
function myMain() {
var out = "";
var myF = function (res, res_err) {
console.log("in query function");
if (res_err == null) {
for (var i = 0; i < res.length; i++) {
var book = res[i];
out += book.title;
out += "\n";
}
console.log(out);
} else {
res_err.printStackTrace();
out = "error";
console.log("out")
}
}
mongoConfig.findWithOptions("bible", {}, {}, myF);
console.log("done with main");
}
---------------------------------------------------------------------
Here is the exception I get :
Cluster created with settings {hosts=[localhost:8000], mode=MULTIPLE, requiredClusterType=REPLICA_SET, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500, requiredReplicaSetName='rs0'}
Adding discovered server localhost:8000 to client view of cluster
javax.script.ScriptException: TypeError: function invoked with invalid arguments in <eval>#88:17<eval> at line number 260 at column number 11
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:451)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:403)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at io.vertx.lang.js.JSVerticleFactory$JSVerticle.start(JSVerticleFactory.java:109)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$3(ContextImpl.java:359)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:393)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
at java.lang.Thread.run(Thread.java:745)
Caused by: <eval>#88:17<eval>:260:11 TypeError: function invoked with invalid arguments
at jdk.nashorn.internal.objects.NativeError.initException(NativeError.java:137)
at jdk.nashorn.internal.objects.NativeTypeError.<init>(NativeTypeError.java:73)
at jdk.nashorn.internal.objects.NativeTypeError.<init>(NativeTypeError.java:77)
at jdk.nashorn.internal.objects.NativeTypeError.constructor(NativeTypeError.java:98)
at jdk.nashorn.internal.scripts.Script$Recompilation$144$9744AI$\^eval\_#88\!17\^eval\_.L:1$Vertx$setTimer(vertx-js/vertx.js:260)
at jdk.nashorn.internal.scripts.Script$Recompilation$135$57AAAAA$\^eval\_#88\!17\^eval\_.L:1(mongoRS.js:4)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:650)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.internal.scripts.Script$Recompilation$15$2235AAAAA$\^eval\_.L:33$_load(null:113)
at jdk.nashorn.internal.scripts.Script$Recompilation$4$4376AAAA$\^eval\_.L:33$doRequire(null:154)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:648)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptFunction.invokeSync(ScriptFunction.java:1005)
at jdk.nashorn.internal.scripts.Script$Recompilation$133$4168AAZ$\^eval\_.L:33$RequireNoCache(null:124)
at jdk.nashorn.internal.scripts.Script$132$\^eval\_.:program(<eval>:1)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:640)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:446)
... 11 more
Failed in deploying verticle
javax.script.ScriptException: TypeError: function invoked with invalid arguments in <eval>#88:17<eval> at line number 260 at column number 11
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:451)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:403)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at io.vertx.lang.js.JSVerticleFactory$JSVerticle.start(JSVerticleFactory.java:109)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$3(ContextImpl.java:359)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:393)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
at java.lang.Thread.run(Thread.java:745)
Caused by: <eval>#88:17<eval>:260:11 TypeError: function invoked with invalid arguments
at jdk.nashorn.internal.objects.NativeError.initException(NativeError.java:137)
at jdk.nashorn.internal.objects.NativeTypeError.<init>(NativeTypeError.java:73)
at jdk.nashorn.internal.objects.NativeTypeError.<init>(NativeTypeError.java:77)
at jdk.nashorn.internal.objects.NativeTypeError.constructor(NativeTypeError.java:98)
at jdk.nashorn.internal.scripts.Script$Recompilation$144$9744AI$\^eval\_#88\!17\^eval\_.L:1$Vertx$setTimer(vertx-js/vertx.js:260)
at jdk.nashorn.internal.scripts.Script$Recompilation$135$57AAAAA$\^eval\_#88\!17\^eval\_.L:1(mongoRS.js:4)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:650)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.internal.scripts.Script$Recompilation$15$2235AAAAA$\^eval\_.L:33$_load(null:113)
at jdk.nashorn.internal.scripts.Script$Recompilation$4$4376AAAA$\^eval\_.L:33$doRequire(null:154)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:648)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptFunction.invokeSync(ScriptFunction.java:1005)
at jdk.nashorn.internal.scripts.Script$Recompilation$133$4168AAZ$\^eval\_.L:33$RequireNoCache(null:124)
at jdk.nashorn.internal.scripts.Script$132$\^eval\_.:program(<eval>:1)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:640)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:446)
... 11 more
javax.script.ScriptException: TypeError: function invoked with invalid arguments in <eval>#88:17<eval> at line number 260 at column number 11
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:451)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:403)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at io.vertx.lang.js.JSVerticleFactory$JSVerticle.start(JSVerticleFactory.java:109)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$3(ContextImpl.java:359)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:393)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
at java.lang.Thread.run(Thread.java:745)
Caused by: <eval>#88:17<eval>:260:11 TypeError: function invoked with invalid arguments
at jdk.nashorn.internal.objects.NativeError.initException(NativeError.java:137)
at jdk.nashorn.internal.objects.NativeTypeError.<init>(NativeTypeError.java:73)
at jdk.nashorn.internal.objects.NativeTypeError.<init>(NativeTypeError.java:77)
at jdk.nashorn.internal.objects.NativeTypeError.constructor(NativeTypeError.java:98)
at jdk.nashorn.internal.scripts.Script$Recompilation$144$9744AI$\^eval\_#88\!17\^eval\_.L:1$Vertx$setTimer(vertx-js/vertx.js:260)
at jdk.nashorn.internal.scripts.Script$Recompilation$135$57AAAAA$\^eval\_#88\!17\^eval\_.L:1(mongoRS.js:4)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:650)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.internal.scripts.Script$Recompilation$15$2235AAAAA$\^eval\_.L:33$_load(null:113)
at jdk.nashorn.internal.scripts.Script$Recompilation$4$4376AAAA$\^eval\_.L:33$doRequire(null:154)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:648)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptFunction.invokeSync(ScriptFunction.java:1005)
at jdk.nashorn.internal.scripts.Script$Recompilation$133$4168AAZ$\^eval\_.L:33$RequireNoCache(null:124)
at jdk.nashorn.internal.scripts.Script$132$\^eval\_.:program(<eval>:1)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:640)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:228)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:446)
... 11 more