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

[arangodb, arangodb3] ArangoDB client bindings fail to work with ArangoDB authentication #1155

Open
diogojfernandes opened this issue May 24, 2018 · 21 comments

Comments

@diogojfernandes
Copy link

diogojfernandes commented May 24, 2018

Edited by maintainers

The ArangoDB and ArangoDB3 client bindings are not set up to provide authentication details to the ArangoDB instance, and as such you must ensure authentication is off for the system under test.

You can do this by altering your arangod.conf file: modify authentication parameter to authentication=false.


Original issue text: [WARN] YCSB libraries not found.

Hello.

I get this message when trying to load the ycsb. It says "mvn is not recognized" but as you can see on the print screen below I have maven installed and the environment variables created aswell. Also have "maven\bin" on PATH.

image

@busbey
Copy link
Collaborator

busbey commented May 24, 2018

Can you confirm that the 'basic' datastore works by following our guide for running on Windows?

@diogojfernandes
Copy link
Author

@busbey No, the 'basic' datastore also doesn't work.

I compiled the ArangoDB3 binding with success before loading the workload with
mvn -pl com.yahoo.ycsb:arangodb3-binding -am clean package

I analysed the 'ycsb.bat' and it crashes on the line 172, but just call MAVEN on line 173.
What can I do?

@busbey
Copy link
Collaborator

busbey commented May 25, 2018

we should try to confirm that the 'basic' datastore works before trying to get another one to go.

What's the error when the basic datastore fails?

@diogojfernandes
Copy link
Author

@busbey when trying to execute
./bin/ycsb.bat load basic -P workloads/workloada

I get this error
image

@busbey
Copy link
Collaborator

busbey commented May 25, 2018

does doing a full maven build from the top work? that error with the basic looks like you can't connect to maven central.

@diogojfernandes
Copy link
Author

By "full maven build" you mean run this code?
mvn clean package

Should I delete the repository and reinstall it before doing that?

@busbey
Copy link
Collaborator

busbey commented May 25, 2018

this step from the windows set up guide:

https://github.com/brianfrankcooper/YCSB/wiki/Prerequisites-for-Windows#first-build

mvn package should suffice. you might need to tell Maven to check for things it thinks are missing via mvn -U package

@diogojfernandes
Copy link
Author

Running mvn -U package it successfully builds CORE YCSB and ArangoDB3 (the one I want to benchmark).

image

When I try to load basic or arangodb3 datastore it fails building CORE YCSB

image

@busbey
Copy link
Collaborator

busbey commented May 25, 2018

the build from the top level failing is a red flag that something is wrong in the build environment. what's the error in the first case?

@diogojfernandes
Copy link
Author

So, I downloaded the pre-release 0.13.0 binaries and sucessfully load and run the basic datastore.

I get this error when trying to load ArangoDB3:
image

Full results:
image

@busbey
Copy link
Collaborator

busbey commented May 26, 2018

looks like you should first create a database 'ycsb' with table 'usertable' in your ArangoDB instance.

@diogojfernandes
Copy link
Author

I already did, same problem...
image

On ArangoDb3 README it says to "drop the existing collection: "usertable" under database "ycsb"" with this code db._collection("usertable").drop() but it doesn't recognise "usertable".

On my comment above it says that failed to create table ycsb and collection usertable so my instance shouldn't have those created before (?).

Maybe I have to tell the default user login is root?

@busbey
Copy link
Collaborator

busbey commented May 26, 2018

It's hard to say. The ArangoDB3 binding hasn't made it to our supported list yet, so it's not surprising that these kinds of edge cases could come up.

The error you got does look like a case of "I can't verify that you're authorized to do that", but I don't see anything in the current docs to say how to specify a user/password.

Does the older ArangoDB binding fail in the same way? It looks like it was tested in the 0.12.0 release.

@diogojfernandes
Copy link
Author

Is it possible to benchmark ArangoDB3 with 0.12.0?

@busbey
Copy link
Collaborator

busbey commented May 26, 2018

I don't think so, it was added in the 0.13.0 release. Does the ArangoDB binding work with different server versions? If so, we should document that.

@diogojfernandes
Copy link
Author

I get the message "Unauthorized" when trying the ArangoDB binding.
image

I run the GitBash with admin privileges and set "Administrate" one ArangoDB root user for all databases.
image

@diogojfernandes
Copy link
Author

@busbey , Once I get the error 401 Unauthorized, I searched for it and I found this:
https://httpstatuses.com/401

The request has not been applied because it lacks valid authentication credentials for the target resource.

This means that maybe it neads the user login (root) on parameters?

@diogojfernandes
Copy link
Author

SOLVED

I had to turn off authentication parameter on the arangod.conf file located on C:\ArangoDB\etc\arangodb3\arangod.conf
authentication = false

@busbey
Copy link
Collaborator

busbey commented May 29, 2018

thanks for circling back!

it sounds like a known issue for the current ArangoDB bindings should be:

The ArangoDB client bindings are not set up to provide authentication details to the ArangoDB instance, and as such you must ensure authentication is off for the system under test.

You can do this by altering your arangodb.conf file to add "authentication=false".

How's that sound?

@busbey
Copy link
Collaborator

busbey commented May 29, 2018

Also, I'd like to have an open issue that tracks this gap so I can reference it in release notes. Would you prefer I reopen this one, or make a new one? (if I reopen this one you'll get github notifications when folks comment here or a PR fixes it, unless you unsubscribe from the issue.)

@diogojfernandes
Copy link
Author

Not add, but change, it's value is "true" by default. Also, that information should be on ArangoDB3 README before the command db._collection("usertable").drop() One note: the file name is arangod.conf and not arangodb.conf.

The ArangoDB client bindings are not set up to provide authentication details to the ArangoDB instance, and as such you must ensure authentication is off for the system under test.

You can do this by altering your arangod.conf file and modify authentication parameter to "authentication=false".

You can reopen this ticket, no problem.

@busbey busbey reopened this May 29, 2018
@busbey busbey changed the title [WARN] YCSB libraries not found. [arangodb, arangodb3] ArangoDB client bindings fail to work with ArangoDB authentication May 29, 2018
@busbey busbey mentioned this issue May 29, 2018
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