Neo4j database full import not working - empty warning mess

Once it's running
lionbark
Posts:0
Joined:09 Jul 2014 15:53
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Neo4j database full import not working - empty warning mess

Post by lionbark » 09 Jul 2014 16:24

Hi, I'm having some difficulty in importing a Neo4j database into Gephi using the Neo4j plugin: when I go to File > Neo4j Database > Full Import and try to import a database, I get a popup with an empty warning message. I have also tried a Traversal Import, but after selecting the database, no windows pop up.

I've tried a sample database with a reference node that points to another node, and also the example Movies/Actors database that comes included with Neo4j.

I am using Neo4j 2.1.2 and Gephi 0.8.2. Any help would be much appreciated!

lionbark
Posts:0
Joined:09 Jul 2014 15:53
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Neo4j database full import not working - empty warning m

Post by lionbark » 10 Jul 2014 16:13

Hi Holger, thanks for the reply. I tried closing the neo4j server, then importing the two dbs again but it's the same issue unfortunately.

claudio_alvarez
Posts:1
Joined:28 Jul 2014 00:46
Location:Chile
Contact:

Re: Neo4j database full import not working - empty warning m

Post by claudio_alvarez » 28 Jul 2014 00:52

Hi guys,

Any news on this topic?
I am experiencing the same disgusting issue with Neo4j 2.1.2, plugin version 2.1.0,
Gepphi version:

Product Version: Gephi 0.8.2 201210100934
Updates: Updates available
Java: 1.7.0_55; OpenJDK 64-Bit Server VM 24.51-b03
System: Linux version 3.13.0-24-generic running on amd64; UTF-8; en_US (gephi)
User directory: /home/**********/.gephi/0.8.2/dev
Cache directory: /home/**********/.gephi/0.8.2/dev/var/cache

I will appreciate any pointers on how to see the exception raised by the Neo4j plugin.

romans
Posts:3
Joined:28 Jul 2014 23:14
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Neo4j database full import not working - empty warning m

Post by romans » 28 Jul 2014 23:18

I have the same problem with a database created with 2.1.0 or 2.1.2 (same with both versions) on a windows as well as on a linux machine.

I get just an empty error window on "full import" and no message on traversal.

Is there any restrictions on how the database should look like?

I managed to save one of these exaples (les miserables) to neo4j and reload it though.

Some kind of error message would be great...

Linux Machine:
Produktversion: Gephi 0.8.2 201210100934
Java: 1.7.0_60; Java HotSpot(TM) 64-Bit Server VM 24.60-b09
System: Linux Version 3.13.0-30-generic wird auf amd64 ausgeführt; UTF-8; de_DE (gephi)

romans
Posts:3
Joined:28 Jul 2014 23:14
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Neo4j database full import not working - empty warning m

Post by romans » 29 Jul 2014 01:57

I forked the plugin git and looked at the source.

It seems that exceptions get eaten on connect - very very very very very ugly. Still typical Java programmers behaviour...

I did the following to Neo4jVisualDebugger:

Code: Select all

@@ -189,6 +189,13 @@ public class Neo4jMenuAction extends CallableSystemAction {
         Collection<Class> inUseExceptions = Arrays.<Class>asList(Neo4jStoreAlreadyInUseException.class,StoreLockException.class);
         if (inUseExceptions.contains(e.getClass()) || inUseExceptions.contains(e.getCause().getClass()))
             errorMessage = NbBundle.getMessage(Neo4jMenuAction.class, "CTL_Neo4j_DatabaseStorageAlreadyInUse");
+        else
+        {
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            PrintWriter pw = new PrintWriter(sw);
+            e.printStackTrace(pw);
+            errorMessage =  sw.toString(); // stack trace as a string
+        }
 
         NotifyDescriptor notifyDescriptor = new NotifyDescriptor.Message(errorMessage, JOptionPane.WARNING_MESSAGE);
         DialogDisplayer.getDefault().notify(notifyDescriptor);
So now I see what is actually happening and I get the following stack trace:

Code: Select all

java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /home/roman/Dropbox/Crawler/temp-neo-test
	at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:339)
	at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:66)
	at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:92)
	at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:198)
	at org.gephi.desktop.neo4j.ui.util.Neo4jUtils.localDatabase(Neo4jUtils.java:43)
	at org.gephi.desktop.neo4j.Neo4jMenuAction$FullImportMenuAction.actionPerformed(Neo4jMenuAction.java:236)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6516)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
	at java.awt.Component.processEvent(Component.java:6281)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4872)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:708)
	at java.awt.EventQueue$4.run(EventQueue.java:706)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:158)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.transaction.XaDataSourceManager@16253994' was successfully initialized, but failed to start. Please see attached cause exception.
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
	at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:316)
	... 44 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@4d2c47e9' was successfully initialized, but failed to start. Please see attached cause exception.
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115)
	at org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:164)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507)
	... 46 more
Caused by: org.neo4j.kernel.impl.storemigration.StoreUpgrader$UnexpectedUpgradingStoreVersionException: 'neostore' has a store version number that we cannot upgrade from. Expected 'NeoStore v0.A.1' but file is version 'NeoStore v0.A.3'.
	at org.neo4j.kernel.impl.storemigration.UpgradableDatabase.checkUpgradeable(UpgradableDatabase.java:70)
	at org.neo4j.kernel.impl.storemigration.StoreUpgrader.attemptUpgrade(StoreUpgrader.java:72)
	at org.neo4j.kernel.impl.nioneo.store.StoreFactory.tryToUpgradeStores(StoreFactory.java:147)
	at org.neo4j.kernel.impl.nioneo.store.StoreFactory.newNeoStore(StoreFactory.java:121)
	at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:327)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507)
	... 49 more
The interresting line here is:
Expected 'NeoStore v0.A.1' but file is version 'NeoStore v0.A.3'.

https://github.com/gephi/gephi-plugins/issues/40 seems to report maybe the same issue. I have to get some sleep now but I'll have a look at it tomorrow.

What has to be fixed one way or the other is the plugin's eating exceptions. This should not be happening.

romans
Posts:3
Joined:28 Jul 2014 23:14
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Neo4j database full import not working - empty warning m

Post by romans » 29 Jul 2014 02:10


hbruch
Posts:11
Joined:27 Jul 2014 16:57
Location:Germany, Stuttgart
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Neo4j database full import not working - empty warning m

Post by hbruch » 29 Jul 2014 05:17

Currently, there are a number of open issues, some of them closely related:
  • Eaten exceptions (might be caused by locked neo4jstore or neo4j version >2.1.0), (#44, fixed with pull request #45)
  • NotInTransactionException for TraversalImport (#40, fixed with pull request)
  • Missing support for current neo4j 2.1.2 (fixed with pull request #48)
  • Finally, Node Labels (introduced with Neo4j2) are not yet supported, neither their import (#46, fixed with pull request #47), nor using them as import filter (I'm currently working on it)
I hope, they will be merged in near future, otherwise I might provide a temporarilly patch version for the compiled plugin.

Best regards,
Holger

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable