Re: [Neo4j] Online Backup : wich package?
I progress slowly...but I have a new error. Here is my code : //create the graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } graph.close(); neo.shutdown(); /* * here, I put my code to copy the content of the graph directory to the backup directory **/ //open again the graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); /** * I create the backup graph **/ EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); // /!!\ : ERROR HERE } catch (IOException e) {} backupIndexService.shutdown(); backupGraphDb.shutdown(); But I obtain this error : java.lang.RuntimeException: Missing log entry in backup source: [10] in resource [nioneodb]. Can not perform backup. at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:362) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:53) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Many thanks for your attention, Bat Le 09-juin-10 à 18:01, Tobias Ivarsson a écrit : The exception really says it all. You are trying to backup to a target that does not have the same origin as the source. You need to create the target Neo4j store by either letting the online-backup component create it, using the Neo4jBackup(EmbeddedGraphDatabase, String, ...) constructors, or manually create a copy of the store on the file system level before you do the initial copying. Cheers, Tobias On Wed, Jun 9, 2010 at 5:41 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: I fixed one problem. But I still have a problem. My classes are starded from BlazeDS. It's a server-based Java remoting installed on Glassfish. So, I can not see the packages of neo4j on the classpath. However, I use this packages : lucene-core-2.9.1.jar neo4j-remote-graphdb-0.5.jar neo4j-commons-0.4.jar neo4j-index-1.0-b1.jar neo4j-kernel-1.0-rc.jar neo4j-shell-1.0-rc.jar neo4j-apoc-examples-0.5.jar neo4j-online-backup-0.5.jar neo4j-remote-graphdb-0.5.jar when I run my program, now I obtain this error : java.lang.RuntimeException: Source[1276097996318,1276097996318] is not same as destination[1276097998894,1276097998894] for resource [nioneodb] at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:329) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:49) Thanks Le 09-juin-10 à 14:21, Tobias Ivarsson a écrit : You could also use this code to print the classpath: //Get the System Classloader ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader(); //Get the URLs URL[] urls = ((URLClassLoader)sysClassLoader).getURLs(); *for*(*int *i=0; i urls.length; i++) { System.out.println(urls[i].getFile()); } This might give a slightly more complete view of the paths from where classes are loaded. (if, for example you have added the Neo4j jar files in your Java extension library directory, they might not appear in the java.class.path property) From http://www.java-tips.org/java-se-tips/java.lang/how-to-print-classpath.html On Wed, Jun 9, 2010 at 2:09 PM, Johan Svensson jo...@neotechnology.com wrote: What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: However, I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.AbstractResource.init(Lorg/neo4j/kernel/ impl/ transaction/x aframework/XaDataSource;)V at org .neo4j .onlinebackup .EmbeddedGraphDatabaseResource .init(EmbeddedGraphDatabaseResource.java:31) at
Re: [Neo4j] Online Backup : wich package?
This error come from not configuring Neo4j to keep its logical logs. The keepLogicalLogs( true ) parts need to be there for the part of the code where you do the backups. Cheers, Tobias On Thu, Jun 10, 2010 at 10:16 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: I progress slowly...but I have a new error. Here is my code : //create the graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } graph.close(); neo.shutdown(); /* * here, I put my code to copy the content of the graph directory to the backup directory **/ //open again the graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); /** * I create the backup graph **/ EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); // /!!\ : ERROR HERE } catch (IOException e) {} backupIndexService.shutdown(); backupGraphDb.shutdown(); But I obtain this error : java.lang.RuntimeException: Missing log entry in backup source: [10] in resource [nioneodb]. Can not perform backup. at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:362) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:53) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Many thanks for your attention, Bat Le 09-juin-10 à 18:01, Tobias Ivarsson a écrit : The exception really says it all. You are trying to backup to a target that does not have the same origin as the source. You need to create the target Neo4j store by either letting the online-backup component create it, using the Neo4jBackup(EmbeddedGraphDatabase, String, ...) constructors, or manually create a copy of the store on the file system level before you do the initial copying. Cheers, Tobias On Wed, Jun 9, 2010 at 5:41 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: I fixed one problem. But I still have a problem. My classes are starded from BlazeDS. It's a server-based Java remoting installed on Glassfish. So, I can not see the packages of neo4j on the classpath. However, I use this packages : lucene-core-2.9.1.jar neo4j-remote-graphdb-0.5.jar neo4j-commons-0.4.jar neo4j-index-1.0-b1.jar neo4j-kernel-1.0-rc.jar neo4j-shell-1.0-rc.jar neo4j-apoc-examples-0.5.jar neo4j-online-backup-0.5.jar neo4j-remote-graphdb-0.5.jar when I run my program, now I obtain this error : java.lang.RuntimeException: Source[1276097996318,1276097996318] is not same as destination[1276097998894,1276097998894] for resource [nioneodb] at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:329) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:49) Thanks Le 09-juin-10 à 14:21, Tobias Ivarsson a écrit : You could also use this code to print the classpath: //Get the System Classloader ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader(); //Get the URLs URL[] urls = ((URLClassLoader)sysClassLoader).getURLs(); *for*(*int *i=0; i urls.length; i++) { System.out.println(urls[i].getFile()); } This might give a slightly more complete view of the paths from where classes are loaded. (if, for example you have added the Neo4j jar files in your Java extension library directory, they might not appear in the java.class.path property) From http://www.java-tips.org/java-se-tips/java.lang/how-to-print-classpath.html On Wed, Jun 9, 2010 at 2:09 PM, Johan Svensson jo...@neotechnology.com wrote: What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: However, I obtain this error :
Re: [Neo4j] Online Backup : wich package?
The keepLogicalLogs( true ) parts need to be there for the part of the code where you do the backups. What does it means in my case? My part of code is not correct? Because if I understand, you mean that I need to use the code keepLogicalLogs( true ) in the same class where I do my backup? Sorry for my misunderstanding, Best, Bat Cheers, Tobias On Thu, Jun 10, 2010 at 10:16 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: I progress slowly...but I have a new error. Here is my code : //create the graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } graph.close(); neo.shutdown(); /* * here, I put my code to copy the content of the graph directory to the backup directory **/ //open again the graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); /** * I create the backup graph **/ EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); // /!!\ : ERROR HERE } catch (IOException e) {} backupIndexService.shutdown(); backupGraphDb.shutdown(); But I obtain this error : java.lang.RuntimeException: Missing log entry in backup source: [10] in resource [nioneodb]. Can not perform backup. at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:362) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:53) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Many thanks for your attention, Bat Le 09-juin-10 à 18:01, Tobias Ivarsson a écrit : The exception really says it all. You are trying to backup to a target that does not have the same origin as the source. You need to create the target Neo4j store by either letting the online-backup component create it, using the Neo4jBackup(EmbeddedGraphDatabase, String, ...) constructors, or manually create a copy of the store on the file system level before you do the initial copying. Cheers, Tobias On Wed, Jun 9, 2010 at 5:41 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: I fixed one problem. But I still have a problem. My classes are starded from BlazeDS. It's a server-based Java remoting installed on Glassfish. So, I can not see the packages of neo4j on the classpath. However, I use this packages : lucene-core-2.9.1.jar neo4j-remote-graphdb-0.5.jar neo4j-commons-0.4.jar neo4j-index-1.0-b1.jar neo4j-kernel-1.0-rc.jar neo4j-shell-1.0-rc.jar neo4j-apoc-examples-0.5.jar neo4j-online-backup-0.5.jar neo4j-remote-graphdb-0.5.jar when I run my program, now I obtain this error : java.lang.RuntimeException: Source[1276097996318,1276097996318] is not same as destination[1276097998894,1276097998894] for resource [nioneodb] at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:329) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:49) Thanks Le 09-juin-10 à 14:21, Tobias Ivarsson a écrit : You could also use this code to print the classpath: //Get the System Classloader ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader(); //Get the URLs URL[] urls = ((URLClassLoader)sysClassLoader).getURLs(); *for*(*int *i=0; i urls.length; i++) { System.out.println(urls[i].getFile()); } This might give a slightly more complete view of the paths from where classes are loaded. (if, for example you have added the Neo4j jar files in your Java extension library directory, they might not appear in the java.class.path property) From http://www.java-tips.org/java-se-tips/java.lang/how-to-print-classpath.html On Wed, Jun 9, 2010 at 2:09 PM, Johan Svensson jo...@neotechnology.com wrote: What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel
Re: [Neo4j] Online Backup : wich package?
Here is a quick patch of your code (I haven't tried it, but it shows the conceptual difference): neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } graph = ObjectGraphFactory.instance().get(neo); graph.close(); neo.shutdown(); /* * here, I put my code to copy the content of the graph directory to the backup directory **/ /** * I create the backup graph **/ EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); // /!!\ : ERROR HERE } catch (IOException e) {} backupIndexService.shutdown(); backupGraphDb.shutdown(); On Thu, Jun 10, 2010 at 11:11 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: The keepLogicalLogs( true ) parts need to be there for the part of the code where you do the backups. What does it means in my case? My part of code is not correct? Because if I understand, you mean that I need to use the code keepLogicalLogs( true ) in the same class where I do my backup? Sorry for my misunderstanding, Best, Bat -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Many thanks : It's running now! Is it possible to define the place where we want to set the backup log of the class Neo4jBackup? Best, Bat Le 10-juin-10 à 11:17, Tobias Ivarsson a écrit : Here is a quick patch of your code (I haven't tried it, but it shows the conceptual difference): neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } graph = ObjectGraphFactory.instance().get(neo); graph.close(); neo.shutdown(); /* * here, I put my code to copy the content of the graph directory to the backup directory **/ /** * I create the backup graph **/ EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); // /!!\ : ERROR HERE } catch (IOException e) {} backupIndexService.shutdown(); backupGraphDb.shutdown(); On Thu, Jun 10, 2010 at 11:11 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: The keepLogicalLogs( true ) parts need to be there for the part of the code where you do the backups. What does it means in my case? My part of code is not correct? Because if I understand, you mean that I need to use the code keepLogicalLogs( true ) in the same class where I do my backup? Sorry for my misunderstanding, Best, Bat -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Hi! Batistuta Gabriel wrote: Is it possible to define the place where we want to set the backup log of the class Neo4jBackup? I committed a change that will let you decide which file the log is written to. It's found here: http://components.neo4j.org/neo4j-online-backup/apidocs/org/neo4j/onlinebackup/Backup.html#enableFileLogger%28java.lang.String%29 That is Backup.enableFileLogger(String filename) If you use the snapshot version, it's there now. In the stable version you can't do this. /anders Best, Bat Le 10-juin-10 à 11:17, Tobias Ivarsson a écrit : Here is a quick patch of your code (I haven't tried it, but it shows the conceptual difference): neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } graph = ObjectGraphFactory.instance().get(neo); graph.close(); neo.shutdown(); /* * here, I put my code to copy the content of the graph directory to the backup directory **/ /** * I create the backup graph **/ EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); // /!!\ : ERROR HERE } catch (IOException e) {} backupIndexService.shutdown(); backupGraphDb.shutdown(); On Thu, Jun 10, 2010 at 11:11 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: The keepLogicalLogs( true ) parts need to be there for the part of the code where you do the backups. What does it means in my case? My part of code is not correct? Because if I understand, you mean that I need to use the code keepLogicalLogs( true ) in the same class where I do my backup? Sorry for my misunderstanding, Best, Bat -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Nobody has a solution for my problem? Many thanks, Bat Le 08-juin-10 à 16:05, BatiG a écrit : I've tried with : - neo4j-kernel-1.0-rc.jar - neo4j-kernel-1.0.jar And I've the same error in the both cases. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Online-Backup-wich-package-tp878706p879410.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Hi Bat, I've tried this with the combination of * neo4j-kernel-1.0.jar (from neo4j-apoc-1.0) * neo4j-online-backup-0.5.jar That works fine. Are you sure that you don't have incompatible versions on the class path as well? Try printing the classpath from your application and verify that you don't have multiple versions of the same Neo4j library there: System.out.println(System.getProperty(java.class.path)); Also, don't forget that you need to tell the data sources (nioneodb and lucene) to keep their logical logs: EmbeddedGraphDatabase neo = ... for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } Cheers, Tobias On Wed, Jun 9, 2010 at 9:56 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: Nobody has a solution for my problem? Many thanks, Bat Le 08-juin-10 à 16:05, BatiG a écrit : I've tried with : - neo4j-kernel-1.0-rc.jar - neo4j-kernel-1.0.jar And I've the same error in the both cases. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Online-Backup-wich-package-tp878706p879410.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Thanks. If I understand the tutorial of neo4j and your expaination, this part of code is correct : //create the original graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } //create the backup graph EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); } catch (IOException e) {} Basically, this part of code is right, isn'it? Le 09-juin-10 à 12:07, Tobias Ivarsson a écrit : Hi Bat, I've tried this with the combination of * neo4j-kernel-1.0.jar (from neo4j-apoc-1.0) * neo4j-online-backup-0.5.jar That works fine. Are you sure that you don't have incompatible versions on the class path as well? Try printing the classpath from your application and verify that you don't have multiple versions of the same Neo4j library there: System.out.println(System.getProperty(java.class.path)); Also, don't forget that you need to tell the data sources (nioneodb and lucene) to keep their logical logs: EmbeddedGraphDatabase neo = ... for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } Cheers, Tobias On Wed, Jun 9, 2010 at 9:56 AM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: Nobody has a solution for my problem? Many thanks, Bat Le 08-juin-10 à 16:05, BatiG a écrit : I've tried with : - neo4j-kernel-1.0-rc.jar - neo4j-kernel-1.0.jar And I've the same error in the both cases. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Online-Backup-wich-package-tp878706p879410.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
On Wed, Jun 9, 2010 at 1:37 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: Thanks. If I understand the tutorial of neo4j and your expaination, this part of code is correct : //create the original graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } //create the backup graph EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); } catch (IOException e) {} Basically, this part of code is right, isn'it? Yes that looks right. -Johan ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
However, I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.AbstractResource.init(Lorg/neo4j/kernel/impl/ transaction/x aframework/XaDataSource;)V at org .neo4j .onlinebackup .EmbeddedGraphDatabaseResource .init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at util.BackupNeo4j.run(BackupNeo4j.java:49) Le 09-juin-10 à 13:48, Johan Svensson a écrit : On Wed, Jun 9, 2010 at 1:37 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: Thanks. If I understand the tutorial of neo4j and your expaination, this part of code is correct : //create the original graph neo = new EmbeddedGraphDatabase(CONSTANTS.GRAPH_PATH); graph = ObjectGraphFactory.instance().get(neo); for (String datasource : new String[]{nioneodb, lucene}) { neo.getConfig().getTxModule().getXaDataSourceManager() .getXaDataSource( datasource ).keepLogicalLogs( true ); } //create the backup graph EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.enableFileLogger(); backup.setLogLevelDebug(); backup.doBackup(); } catch (IOException e) {} Basically, this part of code is right, isn'it? Yes that looks right. -Johan ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: However, I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.AbstractResource.init(Lorg/neo4j/kernel/impl/ transaction/x aframework/XaDataSource;)V at org .neo4j .onlinebackup .EmbeddedGraphDatabaseResource .init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at util.BackupNeo4j.run(BackupNeo4j.java:49) ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
You could also use this code to print the classpath: //Get the System Classloader ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader(); //Get the URLs URL[] urls = ((URLClassLoader)sysClassLoader).getURLs(); *for*(*int *i=0; i urls.length; i++) { System.out.println(urls[i].getFile()); } This might give a slightly more complete view of the paths from where classes are loaded. (if, for example you have added the Neo4j jar files in your Java extension library directory, they might not appear in the java.class.path property) From http://www.java-tips.org/java-se-tips/java.lang/how-to-print-classpath.html On Wed, Jun 9, 2010 at 2:09 PM, Johan Svensson jo...@neotechnology.comwrote: What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: However, I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.AbstractResource.init(Lorg/neo4j/kernel/impl/ transaction/x aframework/XaDataSource;)V at org .neo4j .onlinebackup .EmbeddedGraphDatabaseResource .init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at util.BackupNeo4j.run(BackupNeo4j.java:49) ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
I fixed one problem. But I still have a problem. My classes are starded from BlazeDS. It's a server-based Java remoting installed on Glassfish. So, I can not see the packages of neo4j on the classpath. However, I use this packages : lucene-core-2.9.1.jar neo4j-remote-graphdb-0.5.jar neo4j-commons-0.4.jar neo4j-index-1.0-b1.jar neo4j-kernel-1.0-rc.jar neo4j-shell-1.0-rc.jar neo4j-apoc-examples-0.5.jar neo4j-online-backup-0.5.jar neo4j-remote-graphdb-0.5.jar when I run my program, now I obtain this error : java.lang.RuntimeException: Source[1276097996318,1276097996318] is not same as destination[1276097998894,1276097998894] for resource [nioneodb] at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:329) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:49) Thanks Le 09-juin-10 à 14:21, Tobias Ivarsson a écrit : You could also use this code to print the classpath: //Get the System Classloader ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader(); //Get the URLs URL[] urls = ((URLClassLoader)sysClassLoader).getURLs(); *for*(*int *i=0; i urls.length; i++) { System.out.println(urls[i].getFile()); } This might give a slightly more complete view of the paths from where classes are loaded. (if, for example you have added the Neo4j jar files in your Java extension library directory, they might not appear in the java.class.path property) From http://www.java-tips.org/java-se-tips/java.lang/how-to-print-classpath.html On Wed, Jun 9, 2010 at 2:09 PM, Johan Svensson jo...@neotechnology.com wrote: What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: However, I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.AbstractResource.init(Lorg/neo4j/kernel/ impl/ transaction/x aframework/XaDataSource;)V at org .neo4j .onlinebackup .EmbeddedGraphDatabaseResource .init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at util.BackupNeo4j.run(BackupNeo4j.java:49) ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
The exception really says it all. You are trying to backup to a target that does not have the same origin as the source. You need to create the target Neo4j store by either letting the online-backup component create it, using the Neo4jBackup(EmbeddedGraphDatabase, String, ...) constructors, or manually create a copy of the store on the file system level before you do the initial copying. Cheers, Tobias On Wed, Jun 9, 2010 at 5:41 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: I fixed one problem. But I still have a problem. My classes are starded from BlazeDS. It's a server-based Java remoting installed on Glassfish. So, I can not see the packages of neo4j on the classpath. However, I use this packages : lucene-core-2.9.1.jar neo4j-remote-graphdb-0.5.jar neo4j-commons-0.4.jar neo4j-index-1.0-b1.jar neo4j-kernel-1.0-rc.jar neo4j-shell-1.0-rc.jar neo4j-apoc-examples-0.5.jar neo4j-online-backup-0.5.jar neo4j-remote-graphdb-0.5.jar when I run my program, now I obtain this error : java.lang.RuntimeException: Source[1276097996318,1276097996318] is not same as destination[1276097998894,1276097998894] for resource [nioneodb] at org.neo4j.onlinebackup.Neo4jBackup $Neo4jBackupTask.prepare(Neo4jBackup.java:329) at org.neo4j.onlinebackup.Neo4jBackup.runMultiBackup(Neo4jBackup.java: 262) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:196) at util.BackupNeo4j.run(BackupNeo4j.java:49) Thanks Le 09-juin-10 à 14:21, Tobias Ivarsson a écrit : You could also use this code to print the classpath: //Get the System Classloader ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader(); //Get the URLs URL[] urls = ((URLClassLoader)sysClassLoader).getURLs(); *for*(*int *i=0; i urls.length; i++) { System.out.println(urls[i].getFile()); } This might give a slightly more complete view of the paths from where classes are loaded. (if, for example you have added the Neo4j jar files in your Java extension library directory, they might not appear in the java.class.path property) From http://www.java-tips.org/java-se-tips/java.lang/how-to-print-classpath.html On Wed, Jun 9, 2010 at 2:09 PM, Johan Svensson jo...@neotechnology.com wrote: What was the output of System.out.println(System.getProperty(java.class.path)); as Tobias asked you to do? On Wed, Jun 9, 2010 at 1:56 PM, Batistuta Gabriel batistutagabrielf...@gmail.com wrote: However, I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.AbstractResource.init(Lorg/neo4j/kernel/ impl/ transaction/x aframework/XaDataSource;)V at org .neo4j .onlinebackup .EmbeddedGraphDatabaseResource .init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at util.BackupNeo4j.run(BackupNeo4j.java:49) ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Hi Bati! You need to download the jar file found here: http://m2.neo4j.org/org/neo4j/neo4j-online-backup/0.5/ http://m2.neo4j.org/org/neo4j/neo4j-online-backup/0.5/neo4j-online-backup-0.5.jar Will update the link on the wiki in a moment! /anders On 06/08/2010 10:11 AM, BatiG wrote: Hi, I want to use the tool Online backup. I've read the topic about backup on the website of Neo4j. The topic tell us that we have to use the class Neo4jBackup. However, I don't know where I can find the package containing this class. I've tried with : - online-backup-0.4-20100113.100552-1.jar == but it doesn't know the class - the SVN deposit (https://svn.neo4j.org/components/online-backup/trunk/), it contains this class, but I'm not able to compile the code. I obtain this error : The method getFileName(long) is undefined for the type XaDataSource My question is : where is the right package to use Online backup? Many thanks, Bati ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Thanks for the package. But I still have a problem and I assume that is from your package. With this code : EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.DEV_GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.doBackup(); } I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.Abstra ctResource.init(Lorg/neo4j/kernel/impl/transaction/xaframework/XaDataSource;)V at org.neo4j.onlinebackup.EmbeddedGraphDatabaseResource.init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at Util.BackupNeo4j.run(BackupNeo4j.java:44) Do you have an idea? -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Online-Backup-wich-package-tp878706p879175.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
Hi! What version are you using of the neo4j kernel? neo4j-kernel-1.0 should be used with neo4j-onlinebackup-0.5 and neo4j-kernel-1.1-SNAPSHOT should be used with neo4j-onlinebackup-0.6-SNAPSHOT /anders On 06/08/2010 02:45 PM, BatiG wrote: Thanks for the package. But I still have a problem and I assume that is from your package. With this code : EmbeddedGraphDatabase neo = GraphJo4neo.getGraphDatabaseService(); EmbeddedGraphDatabase backupGraphDb = new EmbeddedGraphDatabase( CONSTANTS.DEV_GRAPH_BACKUP_PATH ); IndexService backupIndexService = new LuceneIndexService( backupGraphDb ); Backup backup = new Neo4jBackup( neo, backupGraphDb, new ArrayListString() { { add( nioneodb ); add( lucene ); } } ); try { backup.doBackup(); } I obtain this error : java.lang.NoSuchMethodError: org.neo4j.onlinebackup.Abstra ctResource.init(Lorg/neo4j/kernel/impl/transaction/xaframework/XaDataSource;)V at org.neo4j.onlinebackup.EmbeddedGraphDatabaseResource.init(EmbeddedGraphDatabaseResource.java:31) at org.neo4j.onlinebackup.Neo4jBackup.doBackup(Neo4jBackup.java:164) at Util.BackupNeo4j.run(BackupNeo4j.java:44) Do you have an idea? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Online Backup : wich package?
I've tried with : - neo4j-kernel-1.0-rc.jar - neo4j-kernel-1.0.jar And I've the same error in the both cases. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Online-Backup-wich-package-tp878706p879410.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user