KeyParser kp = new KeyParser(key, prefix.length); Long startTime = kp.getNextLong(); String entityId = kp.getNextString(); key = iterator.peekNext().getKey(); iterator.next(); if (!prefixMatches(firstKey, kp.getOffset(), key)) { break; } else { entity = getEntity(entityId, entityType, startTime, queryFields, iterator, key, kp.getOffset());
KeyParser kp = new KeyParser(key, prefix.length); Long startTime = kp.getNextLong(); String entityId = kp.getNextString(); byte[] firstKey = key; while (iterator.hasNext() && prefixMatches(firstKey, kp.getOffset(), key)) { iterator.next(); key = iterator.peekNext().getKey(); fields, iterator, key, kp.getOffset());
KeyParser kp = new KeyParser(key, prefix.length); Long startTime = kp.getNextLong(); String entityId = kp.getNextString(); byte[] firstKey = key; while (iterator.hasNext() && prefixMatches(firstKey, kp.getOffset(), key)) { iterator.next(); key = iterator.peekNext().getKey(); fields, iterator, key, kp.getOffset());
KeyParser kp = new KeyParser(key, prefix.length); Long startTime = kp.getNextLong(); String entityId = kp.getNextString(); byte[] firstKey = key; while (iterator.hasNext() && prefixMatches(firstKey, kp.getOffset(), key)) { iterator.next(); key = iterator.peekNext().getKey(); fields, iterator, key, kp.getOffset());
KeyParser kp = new KeyParser(entityKey, typePrefix.length + 8); String entityId = kp.getNextString(); int prefixlen = kp.getOffset(); byte[] deletePrefix = new byte[prefixlen]; System.arraycopy(entityKey, 0, deletePrefix, 0, prefixlen); kp = new KeyParser(key, prefixlen + PRIMARY_FILTERS_COLUMN.length); String name = kp.getNextString(); Object value = GenericObjectMapper.read(key, kp.getOffset()); deleteKeysWithPrefix(writeBatch, addPrimaryFilterToKey(name, value, deletePrefix), pfIterator); kp = new KeyParser(key, prefixlen + RELATED_ENTITIES_COLUMN.length); String type = kp.getNextString(); String id = kp.getNextString(); byte[] relatedEntityStartTime = getStartTime(id, type); if (relatedEntityStartTime == null) { kp = new KeyParser(key, prefixlen + INVISIBLE_REVERSE_RELATED_ENTITIES_COLUMN.length); String type = kp.getNextString(); String id = kp.getNextString(); byte[] relatedEntityStartTime = getStartTime(id, type); if (relatedEntityStartTime == null) {
KeyParser kp = new KeyParser(entityKey, typePrefix.length + 8); String entityId = kp.getNextString(); int prefixlen = kp.getOffset(); byte[] deletePrefix = new byte[prefixlen]; System.arraycopy(entityKey, 0, deletePrefix, 0, prefixlen); kp = new KeyParser(key, prefixlen + PRIMARY_FILTERS_COLUMN.length); String name = kp.getNextString(); Object value = GenericObjectMapper.read(key, kp.getOffset()); deleteKeysWithPrefix(writeBatch, addPrimaryFilterToKey(name, value, deletePrefix), pfIterator); kp = new KeyParser(key, prefixlen + RELATED_ENTITIES_COLUMN.length); String type = kp.getNextString(); String id = kp.getNextString(); byte[] relatedEntityStartTime = getStartTime(id, type); if (relatedEntityStartTime == null) { kp = new KeyParser(key, prefixlen + INVISIBLE_REVERSE_RELATED_ENTITIES_COLUMN.length); String type = kp.getNextString(); String id = kp.getNextString(); byte[] relatedEntityStartTime = getStartTime(id, type); if (relatedEntityStartTime == null) {
KeyParser kp = new KeyParser(entityKey, typePrefix.length + 8); String entityId = kp.getNextString(); int prefixlen = kp.getOffset(); byte[] deletePrefix = new byte[prefixlen]; System.arraycopy(entityKey, 0, deletePrefix, 0, prefixlen); kp = new KeyParser(key, prefixlen + PRIMARY_FILTERS_COLUMN.length); String name = kp.getNextString(); Object value = GenericObjectMapper.read(key, kp.getOffset()); deleteKeysWithPrefix(writeBatch, addPrimaryFilterToKey(name, value, deletePrefix), pfIterator); kp = new KeyParser(key, prefixlen + RELATED_ENTITIES_COLUMN.length); String type = kp.getNextString(); String id = kp.getNextString(); byte[] relatedEntityStartTime = getStartTime(id, type); if (relatedEntityStartTime == null) { kp = new KeyParser(key, prefixlen + INVISIBLE_REVERSE_RELATED_ENTITIES_COLUMN.length); String type = kp.getNextString(); String id = kp.getNextString(); byte[] relatedEntityStartTime = getStartTime(id, type); if (relatedEntityStartTime == null) {
KeyParser kp = new KeyParser(key, prefix.length); String domainId = kp.getNextString(); byte[] prefixExt = KeyBuilder.newInstance().add(OWNER_LOOKUP_PREFIX) .add(owner).add(domainId).getBytesForLookup();
KeyParser kp = new KeyParser(key, prefix.length); String domainId = kp.getNextString(); byte[] prefixExt = KeyBuilder.newInstance().add(OWNER_LOOKUP_PREFIX) .add(owner).add(domainId).getBytesForLookup();
KeyParser kp = new KeyParser(key, prefix.length); String domainId = kp.getNextString(); byte[] prefixExt = KeyBuilder.newInstance().add(OWNER_LOOKUP_PREFIX) .add(owner).add(domainId).getBytesForLookup();
KeyParser kp = new KeyParser(key, prefix.length); String domainId = kp.getNextString(); byte[] prefixExt = KeyBuilder.newInstance().add(owner).add(domainId) .getBytesForLookup();
KeyParser kp = new KeyParser(key, offset); long ts = kp.getNextLong(); String tstype = kp.getNextString(); if (eventTypes == null || eventTypes.contains(tstype)) { TimelineEvent event = new TimelineEvent();
break; KeyParser kp = new KeyParser(key, ENTITY_ENTRY_PREFIX.length); String entityType = kp.getNextString(); entityTypes.add(entityType); byte[] lookupKey = KeyBuilder.newInstance().add(ENTITY_ENTRY_PREFIX)
break; KeyParser kp = new KeyParser(key, ENTITY_ENTRY_PREFIX.length); String entityType = kp.getNextString(); entityTypes.add(entityType); byte[] lookupKey = KeyBuilder.newInstance().add(ENTITY_ENTRY_PREFIX)
/** * Creates an event object from the given key, offset, and value. If the * event type is not contained in the specified set of event types, * returns null. */ private static TimelineEvent getEntityEvent(Set<String> eventTypes, byte[] key, int offset, byte[] value) throws IOException { KeyParser kp = new KeyParser(key, offset); long ts = kp.getNextLong(); String tstype = kp.getNextString(); if (eventTypes == null || eventTypes.contains(tstype)) { TimelineEvent event = new TimelineEvent(); event.setTimestamp(ts); event.setEventType(tstype); Object o = GenericObjectMapper.read(value); if (o == null) { event.setEventInfo(null); } else if (o instanceof Map) { @SuppressWarnings("unchecked") Map<String, Object> m = (Map<String, Object>) o; event.setEventInfo(m); } else { throw new IOException("Couldn't deserialize event info map"); } return event; } return null; }
/** * Creates an event object from the given key, offset, and value. If the * event type is not contained in the specified set of event types, * returns null. */ private static TimelineEvent getEntityEvent(Set<String> eventTypes, byte[] key, int offset, byte[] value) throws IOException { KeyParser kp = new KeyParser(key, offset); long ts = kp.getNextLong(); String tstype = kp.getNextString(); if (eventTypes == null || eventTypes.contains(tstype)) { TimelineEvent event = new TimelineEvent(); event.setTimestamp(ts); event.setEventType(tstype); Object o = GenericObjectMapper.read(value); if (o == null) { event.setEventInfo(null); } else if (o instanceof Map) { @SuppressWarnings("unchecked") Map<String, Object> m = (Map<String, Object>) o; event.setEventInfo(m); } else { throw new IOException("Couldn't deserialize event info map"); } return event; } return null; }
/** * Creates an event object from the given key, offset, and value. If the * event type is not contained in the specified set of event types, * returns null. */ private static TimelineEvent getEntityEvent(Set<String> eventTypes, byte[] key, int offset, byte[] value) throws IOException { KeyParser kp = new KeyParser(key, offset); long ts = kp.getNextLong(); String tstype = kp.getNextString(); if (eventTypes == null || eventTypes.contains(tstype)) { TimelineEvent event = new TimelineEvent(); event.setTimestamp(ts); event.setEventType(tstype); Object o = GenericObjectMapper.read(value); if (o == null) { event.setEventInfo(null); } else if (o instanceof Map) { @SuppressWarnings("unchecked") Map<String, Object> m = (Map<String, Object>) o; event.setEventInfo(m); } else { throw new IOException("Couldn't deserialize event info map"); } return event; } return null; }
break; KeyParser kp = new KeyParser(key, ENTITY_ENTRY_PREFIX.length); String entityType = kp.getNextString(); entityTypes.add(entityType); byte[] lookupKey = KeyBuilder.newInstance().add(ENTITY_ENTRY_PREFIX)
/** * Parses the primary filter from the given key at the given offset and adds * it to the given entity. */ private static void addPrimaryFilter(TimelineEntity entity, byte[] key, int offset) throws IOException { KeyParser kp = new KeyParser(key, offset); String name = kp.getNextString(); byte[] bytes = kp.getRemainingBytes(); Object value = null; try { value = fstConf.asObject(bytes); entity.addPrimaryFilter(name, value); } catch (Exception ignore) { try { // Fall back to 2.24 parser value = fstConf224.asObject(bytes); entity.addPrimaryFilter(name, value); } catch (Exception e) { LOG.warn("Error while decoding " + name, e); } } }
/** * Parses the related entity from the given key at the given offset and * adds it to the given entity. */ private static void addRelatedEntity(TimelineEntity entity, byte[] key, int offset) throws IOException { KeyParser kp = new KeyParser(key, offset); String type = kp.getNextString(); String id = kp.getNextString(); entity.addRelatedEntity(type, id); }