Sandeep Mishra <sandy...@...>
Pawan, I was able to make your code work. the problem is "setStartTimeNow()" Instead use
setStartTime(Instant.now()) and test. It works. I am yet to explore difference between two api. make sure to use a new logidentifier to test.
Regards, Sandeep
toggle quoted message
Show quoted text
On Wednesday, December 9, 2020 at 8:54:17 PM UTC+8 shr...@... wrote:
Hi Sandeep,
I think I have already added below line to indicate that it should pull the detail from now onwords in processor. Is it not working?
"setStartTimeNow()"
Is anyone other face the same thing in their java code?
Thanks, Pawan
On Friday, 4 December 2020 at 16:22:51 UTC+5:30 sa...@... wrote: pawan,can you check for following in your logs Loaded unidentified ReadMarker start time... seems your readmarker is starting from 1970. so it tries to read changes since then
Regards, Sandeep On Saturday, November 28, 2020 at 8:48:18 PM UTC+8 shr...@... wrote: one correction to last post in below line.
JanusGraphTransaction tx = graph.buildTransaction().logIdentifier("TestLog").start();
On Saturday, 28 November 2020 at 18:16:09 UTC+5:30 Pawan Shriwas wrote:
Hi Sandeep,
Please see below java code and properties information which I am trying in local with Cassandra cql as backend. This code is not giving me the change log as event which I can get via gremlin console with same script and properties. Please let me know if anything needs to be modify here with code or properties.
<!-- Java Code --> package com.example.graph;
import org.janusgraph.core.JanusGraph; import org.janusgraph.core.JanusGraphFactory; import org.janusgraph.core.JanusGraphTransaction; import org.janusgraph.core.JanusGraphVertex; import org.janusgraph.core.log.ChangeProcessor; import org.janusgraph.core.log.ChangeState; import org.janusgraph.core.log.LogProcessorFramework; import org.janusgraph.core.log.TransactionId;
public class TestLog { public static void listenLogsEvent(){ JanusGraph graph = JanusGraphFactory.open("/home/ist/Downloads/IM/jgraphdb_local.properties"); LogProcessorFramework logProcessor = JanusGraphFactory.openTransactionLog(graph);
logProcessor.addLogProcessor("TestLog"). setProcessorIdentifier("TestLogCounter"). setStartTimeNow(). addProcessor(new ChangeProcessor(){ @Override public void process(JanusGraphTransaction tx, TransactionId txId, ChangeState changeState) { System.out.println("tx--"+tx.toString()); System.out.println("txId--"+txId.toString()); System.out.println("changeState--"+changeState.toString()); } }). build(); for(int i=0;i<=10;i++) { System.out.println("going to add ="+i); JanusGraphTransaction tx = graph.buildTransaction().logIdentifier("PawanTestLog").start(); JanusGraphVertex a = tx.addVertex("TimeL"); a.property("type", "HOLD"); a.property("serialNo", "XS31B4"); tx.commit(); System.out.println("Vertex committed ="+a.toString()); } } public static void main(String[] args) { System.out.println("starting main"); listenLogsEvent(); } }
<!----- graph properties-------> gremlin.graph=org.janusgraph.core.JanusGraphFactory storage.backend = cql storage.hostname = localhost storage.cql.keyspace=janusgraphcql query.fast-property = true storage.lock.wait-time=10000 storage.batch-loading=true
Thanks in advance.
Thanks, Pawan
On Saturday, 28 November 2020 at 16:19:20 UTC+5:30 sa...@... wrote: Pawan, Can you elaborate more on the program where your are trying to embed the script in? Regards, Sandeep
On Sat, 28 Nov 2020, 13:48 Pawan Shriwas, < shr...@...> wrote: Hey Jason,
Same thing happen with my as well where above script work well in gremlin console but when we use it in java. we are not getting anything in process() section as callback. Could you help for the same.
On Wednesday, 7 February 2018 at 20:28:41 UTC+5:30 Jason Plurad wrote:
It means that it will use the 'storage.backend' value as the storage. See the code in GraphDatabaseConfiguration.java. It looks like your only choice is 'default', and it seems like the option is there for the future possibility to use a different backend. The code in the docs seemed to work ok, other than a minor change in the setStartTime() parameters. You can cut and paste this code into the Gremlin Console to use with the prepackaged distribution. import java.util.concurrent.atomic.*; import org.janusgraph.core.log.*; import java.util.concurrent.*;
graph = JanusGraphFactory.open('conf/janusgraph-cassandra-es.properties');
totalHumansAdded = new AtomicInteger(0); totalGodsAdded = new AtomicInteger(0); logProcessor = JanusGraphFactory.openTransactionLog(graph); logProcessor.addLogProcessor("addedPerson"). setProcessorIdentifier("addedPersonCounter"). setStartTime(Instant.now()). addProcessor(new ChangeProcessor() { public void process(JanusGraphTransaction tx, TransactionId txId, ChangeState changeState) { for (v in changeState.getVertices(Change.ADDED)) { if (v.label().equals("human")) totalHumansAdded.incrementAndGet(); System.out.println("total humans = " + totalHumansAdded); } } }). addProcessor(new ChangeProcessor() { public void process(JanusGraphTransaction tx, TransactionId txId, ChangeState changeState) { for (v in changeState.getVertices(Change.ADDED)) { if (v.label().equals("god")) totalGodsAdded.incrementAndGet(); System.out.println("total gods = " + totalGodsAdded); } } }). build()
tx = graph.buildTransaction().logIdentifier("addedPerson").start(); u = tx.addVertex(T.label, "human"); u.property("name", "proteros"); u.property("age", 36); tx.commit();
If you inspect the keyspace in Cassandra afterwards, you'll see that a separate table is created for "ulog_addedPerson". Did you have some example code of what you are attempting? On Wednesday, February 7, 2018 at 5:55:58 AM UTC-5, Sandeep Mishra wrote: Hi Guys,
We are trying to used transaction log feature of Janusgraph, which is not working as expected.No callback is received at public void process(JanusGraphTransaction janusGraphTransaction, TransactionId transactionId, ChangeState changeState) {
Janusgraph documentation says value for log.[X].backend is 'default'. Not sure what exactly it means. does it mean HBase which is being used as backend for data.
Please let me know, if anyone has configured it.
Thanks and Regards, Sandeep Mishra
|