Neo4j 4.0 Upgrade Discussion (Desktop)

Continuing the discussion from Latest Neo4j Major Release (4.0) available:

Paul, can you check the JS console for browser.

Change Desktop to Developer Mode and Open the "Developer Tools" button after before browser.
And share any errors you find either here or at the

repository.

1 Like

Hi guys just a quick question. If i install and overwrite the existing MacOS application, will my license keys be retained? ie for Bloom?

@kassim.abdullah
Yes they are retained, just did this yesterday :)

This is from the developer-console of the main window; the console of the window which displays the browser itself is completely silent.

Seems there is some authentication issue.

See this both with existing (migrated) and newly created databases.

Also notice the code is checking http://dist.neo4j.org/neo4j-desktop/win/latest.yml while this is a Mac :slight_smile:

from log: 2018-09-06 08:36:37.840+0000 ERROR Unexpected error detected in bolt session '005056fffec00001-00002224-0000021c-2e27a82a800fad4d-8411f5be'. The client is unauthorized due to authentication failure.
org.neo4j.bolt.v1.runtime.BoltConnectionFatality: The client is unauthorized due to authentication failure.
at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:742)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:728)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.access$500(BoltStateMachine.java:62)
at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$1.init(BoltStateMachine.java:435)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.init(BoltStateMachine.java:145)
at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onInit$0(BoltMessageRouter.java:70)
at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.lambda$enqueue$0(MetricsReportingBoltConnection.java:69)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:195)
at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.processNextBatch(MetricsReportingBoltConnection.java:87)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:170)
at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$2(ExecutorBoltScheduler.java:153)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
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:748)
2018-09-06 08:37:07.681+0000 ERROR Unexpected error detected in bolt session '005056fffec00001-00002224-00000226-2ac75dc2700e21df-d6e2d1df'. The client is unauthorized due to authentication failure.
org.neo4j.bolt.v1.runtime.BoltConnectionFatality: The client is unauthorized due to authentication failure.
at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:742)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:728)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.access$500(BoltStateMachine.java:62)
at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$1.init(BoltStateMachine.java:435)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.init(BoltStateMachine.java:145)
at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onInit$0(BoltMessageRouter.java:70)
at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.lambda$enqueue$0(MetricsReportingBoltConnection.java:69)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:195)
at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.processNextBatch(MetricsReportingBoltConnection.java:87)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:170)
at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$2(ExecutorBoltScheduler.java:153)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
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:748)

Never happened before Neo4j Desktop/Browser update, though.

Could you try to re-set the password for the database in the Adminstration tab in desktop?

tried and failed (but i think that's another story).
nonetheless, found the issue (i think), found the solution, 1 sec to document it.

so, 11511 is the port of some other db instance (in some other project).(picture 1)
Seems to stay even if i start a graph from some other project
what i did to connect was to use ":server disconnect", then ":server connect" to show me the form with the link, user, pass, etc
corrected the port and got connected (picture 2)
Picture 1:


Picture 2

Could it be that it was a graph that was not properly shut down due to a crash or during the update?

I had that too sometimes that desktop couldn't or didn't shut down the db.

If you do it and check the config that it's set back to the regular ports. I hope it works.

no,no, surely not a crash, i did the update before starting anything.

Anyone else can confirm the workaround?

@michael.hunger tried and failed (but i think that's another story)."
I've been using instructions from here : https://neo4j.com/docs/operations-manual/current/configuration/password-and-user-recovery/ by using "Open Terminal" inside the graph and got an error saying that -d is not recognised.


DB is indeed 3.4.1 but i'm afraid to upgrade it to 4.0 at this point :slight_smile:

Downloaded the latest version of the cypher-shell from here : https://neo4j.com/download-center/#cyphershell, it does say that it only works from 4.0...maybe the instructions should present this in a more clear way? or does it and i cannot see it?

Have also encountered database connection issues since the Neo4j desktop was upgraded to version 4.0.3.

Starting the database services via the desktop and then opening the Neo4j Brower no longer accesses an open database; the database icon is coloured red rather than the typical green.

I can access the database by using the "server connect" function or using a web browser at http://localhost:7474/browser/ (though even then credentials must be entered).

It's almost as though desktop interface and browser have lost some awareness of each other.

For example once connected via "server connect", disconnecting the database via the desktop has no action.

Also even though the web browser will not get through to the database unless a database has been started via the desktop, it still prompts for credentials before the database can be accessed.

Halin has also had connection problems since the upgrade to desktop 4.0.3, though I don't know if there is any relation with the desktop-browser connection issues.

I presume a downgrade is not an option; if this is not a deliberate change in how the Neo4j database is accessed is there anything I can do to address the problem ?

Restarted everything, same behaviour.
Workaround:
:server disconnect
:server connect
check the correct port in Settings \ dbms.connector.bolt.listen_address=:xyztw (xyztw=port)
copy port to Connect URL
image
enter password, connect, everything is ok

Further to the connection issues with Desktop. I was on version 1.2.1 of Desktop (not 4.0.3 which is the database) and after upgrading to desktop version 1.2.4 the problem appear to have been addressed.

Will do some more checking but all seems OK again.

Cheers

I'm on 1.2.4...
image

Another observation, this morning (after restart of my dev-station) I got the dreaded authorisation failures while yesterday all was fine.

observation 1:
Tried to reset the password couple of times in the Administration section of the Desktop app.

All I got was a non-detailed "failed" message. Luckily the console showed the real reason:

[10:50:22:0771] reset password error: Neo4jError: Failed to alter the specified user 'neo4j': Old password and new password cannot be the same.

It would be great if that was actually displayed in the UI :slight_smile:

After resetting it to something else it worked fine, however trying to login from my app (using py2neo) still did not work.

Digging around I found a /data/dbms/auth.ini newly created, I moved that one away and suddenly it worked.

With "it works" I mean the databases and data are shown via http://localhost:7474/ and accesible via py2neo for my application. The "browser" part of Desktop still is empty and silent.

At least for I can continue my development work using the :7474 interface

Thanks a lot Paul,

would you be able to share your desktop logs (open the command bar with ctrl-k or cmd-k and enter "logs" for the quickest way to get there).

  • is that for an upgraded or new 4.0 db?
  • desktop and browser are two different apps, even if browser is launched from desktop

Glad the browser still works in chrome.
I'll have to ask about the password + auth.ini bits.
Afaik that's created externally and picked up by the db on restart. (Same as neo4j-admin set-initial-password <pwd>)

Shall I mail you the logs seperately?

About that auth.ini thingy; it was newly generated but I did not do a set-initial-password. Somewhere I read about authentication being moved into the system database so I was somewhat surprised to see it on the filesystem.

Oh, yes the issues were with an migrated database, but the authentication issues seem to be with newly created dbs as well.

Will create some logs later.