Hi,
I am parsing the commit log files and I could not able to segregate the
inserts/deletes/updates from the mutations. Is there any way that we can
identify the event that is executed from commit logs?

Here is the partial code:

public class CustomCommitLogReadHandler implements CommitLogReadHandler {

    private static final Logger LOGGER =
LoggerFactory.getLogger(CustomCommitLogReadHandler.class);

    private final String keyspace;
    private final String table;

    public CustomCommitLogReadHandler(Map<String, Object> configuration) {
        keyspace = (String) YamlUtils.select(configuration,
"cassandra.keyspace");
        table = (String) YamlUtils.select(configuration, "cassandra.table");
    }

    @Override
    public void handleMutation(Mutation mutation, int size, int
entryLocation, CommitLogDescriptor descriptor) {
        LOGGER.debug("Handle mutation started...");
        for (PartitionUpdate partitionUpdate :
mutation.getPartitionUpdates()) {
            process(partitionUpdate);
        }
        LOGGER.debug("Handle mutation finished...");
    }

    @SuppressWarnings("unchecked")
    private void process(Partition partition) {
        LOGGER.debug("Process method started...");
        if (!partition.metadata().ksName.equals(keyspace)) {
            LOGGER.debug("Keyspace should be '{}' but is '{}'.", keyspace,
partition.metadata().ksName);
            return;
        }
        if (!partition.metadata().cfName.equals(table)) {
            LOGGER.debug("Table should be '{} but is '{}'.", table,
partition.metadata().cfName);
            return;
        }
        String key = getKey(partition);
        JSONObject obj = new JSONObject();


Thanks
Sreeni

Reply via email to