Repository: accumulo Updated Branches: refs/heads/master 67560a618 -> 794ec90d5
http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/proxy/src/main/python/constants.py ---------------------------------------------------------------------- diff --git a/proxy/src/main/python/constants.py b/proxy/src/main/python/constants.py index aea4826..8139236 100644 --- a/proxy/src/main/python/constants.py +++ b/proxy/src/main/python/constants.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Autogenerated by Thrift Compiler (0.9.1) +# Autogenerated by Thrift Compiler (0.9.3) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/proxy/src/main/python/ttypes.py ---------------------------------------------------------------------- diff --git a/proxy/src/main/python/ttypes.py b/proxy/src/main/python/ttypes.py index 9444f71..c224c50 100644 --- a/proxy/src/main/python/ttypes.py +++ b/proxy/src/main/python/ttypes.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Autogenerated by Thrift Compiler (0.9.1) +# Autogenerated by Thrift Compiler (0.9.3) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # @@ -303,27 +303,27 @@ class Key: break if fid == 1: if ftype == TType.STRING: - self.row = iprot.readString(); + self.row = iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.colFamily = iprot.readString(); + self.colFamily = iprot.readString() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.colQualifier = iprot.readString(); + self.colQualifier = iprot.readString() else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.colVisibility = iprot.readString(); + self.colVisibility = iprot.readString() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I64: - self.timestamp = iprot.readI64(); + self.timestamp = iprot.readI64() else: iprot.skip(ftype) else: @@ -363,6 +363,15 @@ class Key: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.row) + value = (value * 31) ^ hash(self.colFamily) + value = (value * 31) ^ hash(self.colQualifier) + value = (value * 31) ^ hash(self.colVisibility) + value = (value * 31) ^ hash(self.timestamp) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -414,32 +423,32 @@ class ColumnUpdate: break if fid == 1: if ftype == TType.STRING: - self.colFamily = iprot.readString(); + self.colFamily = iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.colQualifier = iprot.readString(); + self.colQualifier = iprot.readString() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.colVisibility = iprot.readString(); + self.colVisibility = iprot.readString() else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.timestamp = iprot.readI64(); + self.timestamp = iprot.readI64() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.value = iprot.readString(); + self.value = iprot.readString() else: iprot.skip(ftype) elif fid == 6: if ftype == TType.BOOL: - self.deleteCell = iprot.readBool(); + self.deleteCell = iprot.readBool() else: iprot.skip(ftype) else: @@ -483,6 +492,16 @@ class ColumnUpdate: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.colFamily) + value = (value * 31) ^ hash(self.colQualifier) + value = (value * 31) ^ hash(self.colVisibility) + value = (value * 31) ^ hash(self.timestamp) + value = (value * 31) ^ hash(self.value) + value = (value * 31) ^ hash(self.deleteCell) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -525,14 +544,14 @@ class DiskUsage: self.tables = [] (_etype3, _size0) = iprot.readListBegin() for _i4 in xrange(_size0): - _elem5 = iprot.readString(); + _elem5 = iprot.readString() self.tables.append(_elem5) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.usage = iprot.readI64(); + self.usage = iprot.readI64() else: iprot.skip(ftype) else: @@ -563,6 +582,12 @@ class DiskUsage: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.tables) + value = (value * 31) ^ hash(self.usage) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -608,7 +633,7 @@ class KeyValue: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.value = iprot.readString(); + self.value = iprot.readString() else: iprot.skip(ftype) else: @@ -636,6 +661,12 @@ class KeyValue: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.key) + value = (value * 31) ^ hash(self.value) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -686,7 +717,7 @@ class ScanResult: iprot.skip(ftype) elif fid == 2: if ftype == TType.BOOL: - self.more = iprot.readBool(); + self.more = iprot.readBool() else: iprot.skip(ftype) else: @@ -717,6 +748,12 @@ class ScanResult: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.results) + value = (value * 31) ^ hash(self.more) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -768,7 +805,7 @@ class Range: iprot.skip(ftype) elif fid == 2: if ftype == TType.BOOL: - self.startInclusive = iprot.readBool(); + self.startInclusive = iprot.readBool() else: iprot.skip(ftype) elif fid == 3: @@ -779,7 +816,7 @@ class Range: iprot.skip(ftype) elif fid == 4: if ftype == TType.BOOL: - self.stopInclusive = iprot.readBool(); + self.stopInclusive = iprot.readBool() else: iprot.skip(ftype) else: @@ -815,6 +852,14 @@ class Range: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.start) + value = (value * 31) ^ hash(self.startInclusive) + value = (value * 31) ^ hash(self.stop) + value = (value * 31) ^ hash(self.stopInclusive) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -854,12 +899,12 @@ class ScanColumn: break if fid == 1: if ftype == TType.STRING: - self.colFamily = iprot.readString(); + self.colFamily = iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.colQualifier = iprot.readString(); + self.colQualifier = iprot.readString() else: iprot.skip(ftype) else: @@ -887,6 +932,12 @@ class ScanColumn: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.colFamily) + value = (value * 31) ^ hash(self.colQualifier) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -932,17 +983,17 @@ class IteratorSetting: break if fid == 1: if ftype == TType.I32: - self.priority = iprot.readI32(); + self.priority = iprot.readI32() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.name = iprot.readString(); + self.name = iprot.readString() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.iteratorClass = iprot.readString(); + self.iteratorClass = iprot.readString() else: iprot.skip(ftype) elif fid == 4: @@ -950,8 +1001,8 @@ class IteratorSetting: self.properties = {} (_ktype15, _vtype16, _size14 ) = iprot.readMapBegin() for _i18 in xrange(_size14): - _key19 = iprot.readString(); - _val20 = iprot.readString(); + _key19 = iprot.readString() + _val20 = iprot.readString() self.properties[_key19] = _val20 iprot.readMapEnd() else: @@ -993,6 +1044,14 @@ class IteratorSetting: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.priority) + value = (value * 31) ^ hash(self.name) + value = (value * 31) ^ hash(self.iteratorClass) + value = (value * 31) ^ hash(self.properties) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1044,7 +1103,7 @@ class ScanOptions: self.authorizations = set() (_etype26, _size23) = iprot.readSetBegin() for _i27 in xrange(_size23): - _elem28 = iprot.readString(); + _elem28 = iprot.readString() self.authorizations.add(_elem28) iprot.readSetEnd() else: @@ -1079,7 +1138,7 @@ class ScanOptions: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.bufferSize = iprot.readI32(); + self.bufferSize = iprot.readI32() else: iprot.skip(ftype) else: @@ -1128,6 +1187,15 @@ class ScanOptions: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.authorizations) + value = (value * 31) ^ hash(self.range) + value = (value * 31) ^ hash(self.columns) + value = (value * 31) ^ hash(self.iterators) + value = (value * 31) ^ hash(self.bufferSize) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1179,7 +1247,7 @@ class BatchScanOptions: self.authorizations = set() (_etype47, _size44) = iprot.readSetBegin() for _i48 in xrange(_size44): - _elem49 = iprot.readString(); + _elem49 = iprot.readString() self.authorizations.add(_elem49) iprot.readSetEnd() else: @@ -1219,7 +1287,7 @@ class BatchScanOptions: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.threads = iprot.readI32(); + self.threads = iprot.readI32() else: iprot.skip(ftype) else: @@ -1271,6 +1339,15 @@ class BatchScanOptions: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.authorizations) + value = (value * 31) ^ hash(self.ranges) + value = (value * 31) ^ hash(self.columns) + value = (value * 31) ^ hash(self.iterators) + value = (value * 31) ^ hash(self.threads) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1316,7 +1393,7 @@ class KeyValueAndPeek: iprot.skip(ftype) elif fid == 2: if ftype == TType.BOOL: - self.hasNext = iprot.readBool(); + self.hasNext = iprot.readBool() else: iprot.skip(ftype) else: @@ -1344,6 +1421,12 @@ class KeyValueAndPeek: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.keyValue) + value = (value * 31) ^ hash(self.hasNext) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1386,17 +1469,17 @@ class KeyExtent: break if fid == 1: if ftype == TType.STRING: - self.tableId = iprot.readString(); + self.tableId = iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.endRow = iprot.readString(); + self.endRow = iprot.readString() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.prevEndRow = iprot.readString(); + self.prevEndRow = iprot.readString() else: iprot.skip(ftype) else: @@ -1428,6 +1511,13 @@ class KeyExtent: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.tableId) + value = (value * 31) ^ hash(self.endRow) + value = (value * 31) ^ hash(self.prevEndRow) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1470,17 +1560,17 @@ class Column: break if fid == 1: if ftype == TType.STRING: - self.colFamily = iprot.readString(); + self.colFamily = iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.colQualifier = iprot.readString(); + self.colQualifier = iprot.readString() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.colVisibility = iprot.readString(); + self.colVisibility = iprot.readString() else: iprot.skip(ftype) else: @@ -1512,6 +1602,13 @@ class Column: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.colFamily) + value = (value * 31) ^ hash(self.colQualifier) + value = (value * 31) ^ hash(self.colVisibility) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1563,12 +1660,12 @@ class Condition: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.timestamp = iprot.readI64(); + self.timestamp = iprot.readI64() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.value = iprot.readString(); + self.value = iprot.readString() else: iprot.skip(ftype) elif fid == 4: @@ -1618,6 +1715,14 @@ class Condition: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.column) + value = (value * 31) ^ hash(self.timestamp) + value = (value * 31) ^ hash(self.value) + value = (value * 31) ^ hash(self.iterators) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1709,6 +1814,12 @@ class ConditionalUpdates: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.conditions) + value = (value * 31) ^ hash(self.updates) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1757,17 +1868,17 @@ class ConditionalWriterOptions: break if fid == 1: if ftype == TType.I64: - self.maxMemory = iprot.readI64(); + self.maxMemory = iprot.readI64() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.timeoutMs = iprot.readI64(); + self.timeoutMs = iprot.readI64() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I32: - self.threads = iprot.readI32(); + self.threads = iprot.readI32() else: iprot.skip(ftype) elif fid == 4: @@ -1775,14 +1886,14 @@ class ConditionalWriterOptions: self.authorizations = set() (_etype96, _size93) = iprot.readSetBegin() for _i97 in xrange(_size93): - _elem98 = iprot.readString(); + _elem98 = iprot.readString() self.authorizations.add(_elem98) iprot.readSetEnd() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.durability = iprot.readI32(); + self.durability = iprot.readI32() else: iprot.skip(ftype) else: @@ -1825,6 +1936,15 @@ class ConditionalWriterOptions: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.maxMemory) + value = (value * 31) ^ hash(self.timeoutMs) + value = (value * 31) ^ hash(self.threads) + value = (value * 31) ^ hash(self.authorizations) + value = (value * 31) ^ hash(self.durability) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -1891,37 +2011,37 @@ class ActiveScan: break if fid == 1: if ftype == TType.STRING: - self.client = iprot.readString(); + self.client = iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.user = iprot.readString(); + self.user = iprot.readString() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.table = iprot.readString(); + self.table = iprot.readString() else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.age = iprot.readI64(); + self.age = iprot.readI64() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I64: - self.idleTime = iprot.readI64(); + self.idleTime = iprot.readI64() else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.type = iprot.readI32(); + self.type = iprot.readI32() else: iprot.skip(ftype) elif fid == 7: if ftype == TType.I32: - self.state = iprot.readI32(); + self.state = iprot.readI32() else: iprot.skip(ftype) elif fid == 8: @@ -1957,7 +2077,7 @@ class ActiveScan: self.authorizations = [] (_etype115, _size112) = iprot.readListBegin() for _i116 in xrange(_size112): - _elem117 = iprot.readString(); + _elem117 = iprot.readString() self.authorizations.append(_elem117) iprot.readListEnd() else: @@ -2032,6 +2152,21 @@ class ActiveScan: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.client) + value = (value * 31) ^ hash(self.user) + value = (value * 31) ^ hash(self.table) + value = (value * 31) ^ hash(self.age) + value = (value * 31) ^ hash(self.idleTime) + value = (value * 31) ^ hash(self.type) + value = (value * 31) ^ hash(self.state) + value = (value * 31) ^ hash(self.extent) + value = (value * 31) ^ hash(self.columns) + value = (value * 31) ^ hash(self.iterators) + value = (value * 31) ^ hash(self.authorizations) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2101,7 +2236,7 @@ class ActiveCompaction: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.age = iprot.readI64(); + self.age = iprot.readI64() else: iprot.skip(ftype) elif fid == 3: @@ -2109,39 +2244,39 @@ class ActiveCompaction: self.inputFiles = [] (_etype124, _size121) = iprot.readListBegin() for _i125 in xrange(_size121): - _elem126 = iprot.readString(); + _elem126 = iprot.readString() self.inputFiles.append(_elem126) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.outputFile = iprot.readString(); + self.outputFile = iprot.readString() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.type = iprot.readI32(); + self.type = iprot.readI32() else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.reason = iprot.readI32(); + self.reason = iprot.readI32() else: iprot.skip(ftype) elif fid == 7: if ftype == TType.STRING: - self.localityGroup = iprot.readString(); + self.localityGroup = iprot.readString() else: iprot.skip(ftype) elif fid == 8: if ftype == TType.I64: - self.entriesRead = iprot.readI64(); + self.entriesRead = iprot.readI64() else: iprot.skip(ftype) elif fid == 9: if ftype == TType.I64: - self.entriesWritten = iprot.readI64(); + self.entriesWritten = iprot.readI64() else: iprot.skip(ftype) elif fid == 10: @@ -2218,6 +2353,20 @@ class ActiveCompaction: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.extent) + value = (value * 31) ^ hash(self.age) + value = (value * 31) ^ hash(self.inputFiles) + value = (value * 31) ^ hash(self.outputFile) + value = (value * 31) ^ hash(self.type) + value = (value * 31) ^ hash(self.reason) + value = (value * 31) ^ hash(self.localityGroup) + value = (value * 31) ^ hash(self.entriesRead) + value = (value * 31) ^ hash(self.entriesWritten) + value = (value * 31) ^ hash(self.iterators) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2266,27 +2415,27 @@ class WriterOptions: break if fid == 1: if ftype == TType.I64: - self.maxMemory = iprot.readI64(); + self.maxMemory = iprot.readI64() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.latencyMs = iprot.readI64(); + self.latencyMs = iprot.readI64() else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.timeoutMs = iprot.readI64(); + self.timeoutMs = iprot.readI64() else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.threads = iprot.readI32(); + self.threads = iprot.readI32() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.durability = iprot.readI32(); + self.durability = iprot.readI32() else: iprot.skip(ftype) else: @@ -2326,6 +2475,15 @@ class WriterOptions: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.maxMemory) + value = (value * 31) ^ hash(self.latencyMs) + value = (value * 31) ^ hash(self.timeoutMs) + value = (value * 31) ^ hash(self.threads) + value = (value * 31) ^ hash(self.durability) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2365,7 +2523,7 @@ class CompactionStrategyConfig: break if fid == 1: if ftype == TType.STRING: - self.className = iprot.readString(); + self.className = iprot.readString() else: iprot.skip(ftype) elif fid == 2: @@ -2373,8 +2531,8 @@ class CompactionStrategyConfig: self.options = {} (_ktype136, _vtype137, _size135 ) = iprot.readMapBegin() for _i139 in xrange(_size135): - _key140 = iprot.readString(); - _val141 = iprot.readString(); + _key140 = iprot.readString() + _val141 = iprot.readString() self.options[_key140] = _val141 iprot.readMapEnd() else: @@ -2408,6 +2566,12 @@ class CompactionStrategyConfig: return + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.className) + value = (value * 31) ^ hash(self.options) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2444,7 +2608,7 @@ class UnknownScanner(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2471,6 +2635,11 @@ class UnknownScanner(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2507,7 +2676,7 @@ class UnknownWriter(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2534,6 +2703,11 @@ class UnknownWriter(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2570,7 +2744,7 @@ class NoMoreEntriesException(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2597,6 +2771,11 @@ class NoMoreEntriesException(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2633,7 +2812,7 @@ class AccumuloException(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2660,6 +2839,11 @@ class AccumuloException(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2696,7 +2880,7 @@ class AccumuloSecurityException(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2723,6 +2907,11 @@ class AccumuloSecurityException(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2759,7 +2948,7 @@ class TableNotFoundException(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2786,6 +2975,11 @@ class TableNotFoundException(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2822,7 +3016,7 @@ class TableExistsException(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2849,6 +3043,11 @@ class TableExistsException(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] @@ -2885,7 +3084,7 @@ class MutationsRejectedException(TException): break if fid == 1: if ftype == TType.STRING: - self.msg = iprot.readString(); + self.msg = iprot.readString() else: iprot.skip(ftype) else: @@ -2912,6 +3111,11 @@ class MutationsRejectedException(TException): def __str__(self): return repr(self) + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.msg) + return value + def __repr__(self): L = ['%s=%r' % (key, value) for key, value in self.__dict__.iteritems()] http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/proxy/src/main/ruby/accumulo_proxy.rb ---------------------------------------------------------------------- diff --git a/proxy/src/main/ruby/accumulo_proxy.rb b/proxy/src/main/ruby/accumulo_proxy.rb index f8d892e..38a1a23 100644 --- a/proxy/src/main/ruby/accumulo_proxy.rb +++ b/proxy/src/main/ruby/accumulo_proxy.rb @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Autogenerated by Thrift Compiler (0.9.1) +# Autogenerated by Thrift Compiler (0.9.3) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # @@ -1185,7 +1185,7 @@ module Accumulo end def send_update(writer, cells) - send_message('update', Update_args, :writer => writer, :cells => cells) + send_oneway_message('update', Update_args, :writer => writer, :cells => cells) end def flush(writer) send_flush(writer) http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/proxy/src/main/ruby/proxy_constants.rb ---------------------------------------------------------------------- diff --git a/proxy/src/main/ruby/proxy_constants.rb b/proxy/src/main/ruby/proxy_constants.rb index 98a589e..baaf9af 100644 --- a/proxy/src/main/ruby/proxy_constants.rb +++ b/proxy/src/main/ruby/proxy_constants.rb @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Autogenerated by Thrift Compiler (0.9.1) +# Autogenerated by Thrift Compiler (0.9.3) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/proxy/src/main/ruby/proxy_types.rb ---------------------------------------------------------------------- diff --git a/proxy/src/main/ruby/proxy_types.rb b/proxy/src/main/ruby/proxy_types.rb index 57306d1..1a1484e 100644 --- a/proxy/src/main/ruby/proxy_types.rb +++ b/proxy/src/main/ruby/proxy_types.rb @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Autogenerated by Thrift Compiler (0.9.1) +# Autogenerated by Thrift Compiler (0.9.3) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/base/src/main/java/org/apache/accumulo/server/rpc/CustomNonBlockingServer.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/rpc/CustomNonBlockingServer.java b/server/base/src/main/java/org/apache/accumulo/server/rpc/CustomNonBlockingServer.java index c81913f..f4737be 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/rpc/CustomNonBlockingServer.java +++ b/server/base/src/main/java/org/apache/accumulo/server/rpc/CustomNonBlockingServer.java @@ -16,254 +16,42 @@ */ package org.apache.accumulo.server.rpc; -import java.io.IOException; import java.net.Socket; import java.nio.channels.SelectionKey; -import java.util.Iterator; import org.apache.thrift.server.THsHaServer; -import org.apache.thrift.server.TNonblockingServer; -import org.apache.thrift.transport.TNonblockingServerTransport; import org.apache.thrift.transport.TNonblockingSocket; import org.apache.thrift.transport.TNonblockingTransport; -import org.apache.thrift.transport.TTransportException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** - * This class implements a custom non-blocking thrift server, incorporating the {@link THsHaServer} features, and overriding the underlying - * {@link TNonblockingServer} methods, especially {@link org.apache.thrift.server.TNonblockingServer.SelectAcceptThread}, in order to override the - * {@link org.apache.thrift.server.AbstractNonblockingServer.FrameBuffer} and {@link org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer} with - * one that reveals the client address from its transport. + * This class implements a custom non-blocking thrift server that stores the client address in thread-local storage for the invocation. * - * <p> - * The justification for this is explained in https://issues.apache.org/jira/browse/ACCUMULO-1691, and is needed due to the repeated regressions: - * <ul> - * <li>https://issues.apache.org/jira/browse/THRIFT-958</li> - * <li>https://issues.apache.org/jira/browse/THRIFT-1464</li> - * <li>https://issues.apache.org/jira/browse/THRIFT-2173</li> - * </ul> - * - * <p> - * This class contains a copy of {@link org.apache.thrift.server.TNonblockingServer.SelectAcceptThread} from Thrift 0.9.1, with the slight modification of - * instantiating a custom FrameBuffer, rather than the {@link org.apache.thrift.server.AbstractNonblockingServer.FrameBuffer} and - * {@link org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer}. Because of this, any change in the implementation upstream will require a review - * of this implementation here, to ensure any new bugfixes/features in the upstream Thrift class are also applied here, at least until - * https://issues.apache.org/jira/browse/THRIFT-2173 is implemented. In the meantime, the maven-enforcer-plugin ensures that Thrift remains at version 0.9.1, - * which has been reviewed and tested. */ public class CustomNonBlockingServer extends THsHaServer { - private static final Logger LOGGER = LoggerFactory.getLogger(CustomNonBlockingServer.class); - private SelectAcceptThread selectAcceptThread_; - private volatile boolean stopped_ = false; - public CustomNonBlockingServer(Args args) { super(args); } - @Override - protected Runnable getRunnable(final FrameBuffer frameBuffer) { - return new Runnable() { - @Override - public void run() { - if (frameBuffer instanceof CustomNonblockingFrameBuffer) { - TNonblockingTransport trans = ((CustomNonblockingFrameBuffer) frameBuffer).getTransport(); - if (trans instanceof TNonblockingSocket) { - TNonblockingSocket tsock = (TNonblockingSocket) trans; - Socket sock = tsock.getSocketChannel().socket(); - TServerUtils.clientAddress.set(sock.getInetAddress().getHostAddress() + ":" + sock.getPort()); - } - } - frameBuffer.invoke(); - } - }; - } - - @Override - protected boolean startThreads() { - // start the selector - try { - selectAcceptThread_ = new SelectAcceptThread((TNonblockingServerTransport) serverTransport_); - selectAcceptThread_.start(); - return true; - } catch (IOException e) { - LOGGER.error("Failed to start selector thread!", e); - return false; - } - } - - @Override - public void stop() { - stopped_ = true; - if (selectAcceptThread_ != null) { - selectAcceptThread_.wakeupSelector(); - } + protected FrameBuffer createFrameBuffer(final TNonblockingTransport trans, final SelectionKey selectionKey, final AbstractSelectThread selectThread) { + return new CustomAsyncFrameBuffer(trans, selectionKey, selectThread); } - @Override - public boolean isStopped() { - return selectAcceptThread_.isStopped(); - } - - @Override - protected void joinSelector() { - // wait until the selector thread exits - try { - selectAcceptThread_.join(); - } catch (InterruptedException e) { - // for now, just silently ignore. technically this means we'll have less of - // a graceful shutdown as a result. - } - } - - private interface CustomNonblockingFrameBuffer { - TNonblockingTransport getTransport(); - } - - private class CustomAsyncFrameBuffer extends AsyncFrameBuffer implements CustomNonblockingFrameBuffer { - private TNonblockingTransport trans; + private class CustomAsyncFrameBuffer extends AsyncFrameBuffer { public CustomAsyncFrameBuffer(TNonblockingTransport trans, SelectionKey selectionKey, AbstractSelectThread selectThread) { super(trans, selectionKey, selectThread); - this.trans = trans; - } - - @Override - public TNonblockingTransport getTransport() { - return trans; - } - } - - private class CustomFrameBuffer extends FrameBuffer implements CustomNonblockingFrameBuffer { - private TNonblockingTransport trans; - - public CustomFrameBuffer(TNonblockingTransport trans, SelectionKey selectionKey, AbstractSelectThread selectThread) { - super(trans, selectionKey, selectThread); - this.trans = trans; - } - - @Override - public TNonblockingTransport getTransport() { - return trans; - } - } - - // @formatter:off - private class SelectAcceptThread extends AbstractSelectThread { - - // The server transport on which new client transports will be accepted - private final TNonblockingServerTransport serverTransport; - - /** - * Set up the thread that will handle the non-blocking accepts, reads, and - * writes. - */ - public SelectAcceptThread(final TNonblockingServerTransport serverTransport) - throws IOException { - this.serverTransport = serverTransport; - serverTransport.registerSelector(selector); } - public boolean isStopped() { - return stopped_; - } - - /** - * The work loop. Handles both selecting (all IO operations) and managing - * the selection preferences of all existing connections. - */ @Override - public void run() { - try { - if (eventHandler_ != null) { - eventHandler_.preServe(); - } - - while (!stopped_) { - select(); - processInterestChanges(); - } - for (SelectionKey selectionKey : selector.keys()) { - cleanupSelectionKey(selectionKey); - } - } catch (Throwable t) { - LOGGER.error("run() exiting due to uncaught error", t); - } finally { - stopped_ = true; + public void invoke() { + if (trans_ instanceof TNonblockingSocket) { + TNonblockingSocket tsock = (TNonblockingSocket) trans_; + Socket sock = tsock.getSocketChannel().socket(); + TServerUtils.clientAddress.set(sock.getInetAddress().getHostAddress() + ":" + sock.getPort()); } + super.invoke(); } + } - /** - * Select and process IO events appropriately: - * If there are connections to be accepted, accept them. - * If there are existing connections with data waiting to be read, read it, - * buffering until a whole frame has been read. - * If there are any pending responses, buffer them until their target client - * is available, and then send the data. - */ - private void select() { - try { - // wait for io events. - selector.select(); - - // process the io events we received - Iterator<SelectionKey> selectedKeys = selector.selectedKeys().iterator(); - while (!stopped_ && selectedKeys.hasNext()) { - SelectionKey key = selectedKeys.next(); - selectedKeys.remove(); - - // skip if not valid - if (!key.isValid()) { - cleanupSelectionKey(key); - continue; - } - - // if the key is marked Accept, then it has to be the server - // transport. - if (key.isAcceptable()) { - handleAccept(); - } else if (key.isReadable()) { - // deal with reads - handleRead(key); - } else if (key.isWritable()) { - // deal with writes - handleWrite(key); - } else { - LOGGER.warn("Unexpected state in select! " + key.interestOps()); - } - } - } catch (IOException e) { - LOGGER.warn("Got an IOException while selecting!", e); - } - } - - /** - * Accept a new connection. - */ - @SuppressWarnings("unused") - private void handleAccept() throws IOException { - SelectionKey clientKey = null; - TNonblockingTransport client = null; - try { - // accept the connection - client = (TNonblockingTransport)serverTransport.accept(); - clientKey = client.registerSelector(selector, SelectionKey.OP_READ); - - // add this key to the map - FrameBuffer frameBuffer = - processorFactory_.isAsyncProcessor() ? new CustomAsyncFrameBuffer(client, clientKey,SelectAcceptThread.this) : - new CustomFrameBuffer(client, clientKey,SelectAcceptThread.this); - - clientKey.attach(frameBuffer); - } catch (TTransportException tte) { - // something went wrong accepting. - LOGGER.warn("Exception trying to accept!", tte); - tte.printStackTrace(); - if (clientKey != null) cleanupSelectionKey(clientKey); - if (client != null) client.close(); - } - } - } // SelectAcceptThread - // @formatter:on } http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/base/src/main/java/org/apache/accumulo/server/rpc/TNonblockingServerSocket.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/rpc/TNonblockingServerSocket.java b/server/base/src/main/java/org/apache/accumulo/server/rpc/TNonblockingServerSocket.java deleted file mode 100644 index a209e69..0000000 --- a/server/base/src/main/java/org/apache/accumulo/server/rpc/TNonblockingServerSocket.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.accumulo.server.rpc; - -import java.io.IOException; -import java.net.InetSocketAddress; -import java.net.ServerSocket; -import java.net.SocketException; -import java.nio.channels.ClosedChannelException; -import java.nio.channels.SelectionKey; -import java.nio.channels.Selector; -import java.nio.channels.ServerSocketChannel; -import java.nio.channels.SocketChannel; - -import org.apache.thrift.transport.TNonblockingServerTransport; -import org.apache.thrift.transport.TNonblockingSocket; -import org.apache.thrift.transport.TTransportException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Wrapper around ServerSocketChannel. - * - * This class is copied from org.apache.thrift.transport.TNonblockingServerSocket version 0.9. The only change (apart from the logging statements) is the - * addition of the {@link #getPort()} method to retrieve the port used by the ServerSocket. - */ -public class TNonblockingServerSocket extends TNonblockingServerTransport { - private static final Logger log = LoggerFactory.getLogger(TNonblockingServerSocket.class); - - /** - * This channel is where all the nonblocking magic happens. - */ - private ServerSocketChannel serverSocketChannel = null; - - /** - * Underlying ServerSocket object - */ - private ServerSocket serverSocket_ = null; - - /** - * Timeout for client sockets from accept - */ - private int clientTimeout_ = 0; - - /** - * Creates just a port listening server socket - */ - public TNonblockingServerSocket(int port, int clientTimeout) throws TTransportException { - this(new InetSocketAddress(port), clientTimeout); - } - - public TNonblockingServerSocket(InetSocketAddress bindAddr) throws TTransportException { - this(bindAddr, 0); - } - - public TNonblockingServerSocket(InetSocketAddress bindAddr, int clientTimeout) throws TTransportException { - clientTimeout_ = clientTimeout; - try { - serverSocketChannel = ServerSocketChannel.open(); - serverSocketChannel.configureBlocking(false); - - // Make server socket - serverSocket_ = serverSocketChannel.socket(); - // Prevent 2MSL delay problem on server restarts - serverSocket_.setReuseAddress(true); - // Bind to listening port - serverSocket_.bind(bindAddr); - } catch (IOException ioe) { - serverSocket_ = null; - throw new TTransportException("Could not create ServerSocket on address " + bindAddr.toString() + "."); - } - } - - @Override - public void listen() throws TTransportException { - // Make sure not to block on accept - if (serverSocket_ != null) { - try { - serverSocket_.setSoTimeout(0); - } catch (SocketException sx) { - log.error("SocketException caused by serverSocket in listen()", sx); - } - } - } - - @Override - protected TNonblockingSocket acceptImpl() throws TTransportException { - if (serverSocket_ == null) { - throw new TTransportException(TTransportException.NOT_OPEN, "No underlying server socket."); - } - try { - SocketChannel socketChannel = serverSocketChannel.accept(); - if (socketChannel == null) { - return null; - } - - TNonblockingSocket tsocket = new TNonblockingSocket(socketChannel); - tsocket.setTimeout(clientTimeout_); - return tsocket; - } catch (IOException iox) { - throw new TTransportException(iox); - } - } - - @Override - public void registerSelector(Selector selector) { - try { - // Register the server socket channel, indicating an interest in - // accepting new connections - serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT); - } catch (ClosedChannelException e) { - // this shouldn't happen, ideally... - // TODO: decide what to do with this. - } - } - - @Override - public void close() { - if (serverSocket_ != null) { - try { - serverSocket_.close(); - } catch (IOException iox) { - log.warn("WARNING: Could not close server socket: {}", iox.getMessage()); - } - serverSocket_ = null; - } - } - - @Override - public void interrupt() { - // The thread-safeness of this is dubious, but Java documentation suggests - // that it is safe to do this from a different thread context - close(); - } - - public int getPort() { - return serverSocket_.getLocalPort(); - } -} http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java b/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java index eb8095f..f474dc3 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java +++ b/server/base/src/main/java/org/apache/accumulo/server/rpc/TServerUtils.java @@ -16,6 +16,8 @@ */ package org.apache.accumulo.server.rpc; +import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly; + import java.io.IOException; import java.lang.reflect.Field; import java.net.BindException; @@ -51,6 +53,7 @@ import org.apache.thrift.TProcessorFactory; import org.apache.thrift.protocol.TProtocolFactory; import org.apache.thrift.server.TServer; import org.apache.thrift.server.TThreadPoolServer; +import org.apache.thrift.transport.TNonblockingServerSocket; import org.apache.thrift.transport.TSSLTransportFactory; import org.apache.thrift.transport.TSaslServerTransport; import org.apache.thrift.transport.TServerSocket; @@ -62,7 +65,6 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Preconditions; import com.google.common.net.HostAndPort; -import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly; /** * Factory methods for creating Thrift server objects @@ -393,6 +395,7 @@ public class TServerUtils { hostname = InetAddress.getByName(address.getHostText()).getCanonicalHostName(); fqdn = InetAddress.getLocalHost().getCanonicalHostName(); } catch (UnknownHostException e) { + transport.close(); throw new TTransportException(e); } @@ -408,6 +411,7 @@ public class TServerUtils { log.error( "Expected hostname of '{}' but got '{}'. Ensure the entries in the Accumulo hosts files (e.g. masters, slaves) are the FQDN for each host when using SASL.", fqdn, hostname); + transport.close(); throw new RuntimeException("SASL requires that the address the thrift server listens on is the same as the FQDN for this host"); } @@ -415,6 +419,7 @@ public class TServerUtils { try { serverUser = UserGroupInformation.getLoginUser(); } catch (IOException e) { + transport.close(); throw new TTransportException(e); } http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/Annotation.java ---------------------------------------------------------------------- diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/Annotation.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/Annotation.java index af4cfd5..c5e658c 100644 --- a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/Annotation.java +++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/Annotation.java @@ -15,7 +15,7 @@ * limitations under the License. */ /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -45,10 +45,13 @@ import java.util.Collections; import java.util.BitSet; import java.nio.ByteBuffer; import java.util.Arrays; +import javax.annotation.Generated; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings({"unchecked", "serial", "rawtypes", "unused"}) public class Annotation implements org.apache.thrift.TBase<Annotation, Annotation._Fields>, java.io.Serializable, Cloneable, Comparable<Annotation> { +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-16") +public class Annotation implements org.apache.thrift.TBase<Annotation, Annotation._Fields>, java.io.Serializable, Cloneable, Comparable<Annotation> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Annotation"); private static final org.apache.thrift.protocol.TField TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("time", org.apache.thrift.protocol.TType.I64, (short)1); @@ -244,7 +247,7 @@ import org.slf4j.LoggerFactory; public Object getFieldValue(_Fields field) { switch (field) { case TIME: - return Long.valueOf(getTime()); + return getTime(); case MSG: return getMsg(); @@ -304,7 +307,19 @@ import org.slf4j.LoggerFactory; @Override public int hashCode() { - return 0; + List<Object> list = new ArrayList<Object>(); + + boolean present_time = true; + list.add(present_time); + if (present_time) + list.add(time); + + boolean present_msg = true && (isSetMsg()); + list.add(present_msg); + if (present_msg) + list.add(msg); + + return list.hashCode(); } @Override http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/RemoteSpan.java ---------------------------------------------------------------------- diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/RemoteSpan.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/RemoteSpan.java index 285aebd..a66018b 100644 --- a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/RemoteSpan.java +++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/RemoteSpan.java @@ -15,7 +15,7 @@ * limitations under the License. */ /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -45,10 +45,13 @@ import java.util.Collections; import java.util.BitSet; import java.nio.ByteBuffer; import java.util.Arrays; +import javax.annotation.Generated; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings({"unchecked", "serial", "rawtypes", "unused"}) public class RemoteSpan implements org.apache.thrift.TBase<RemoteSpan, RemoteSpan._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteSpan> { +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-16") +public class RemoteSpan implements org.apache.thrift.TBase<RemoteSpan, RemoteSpan._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteSpan> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RemoteSpan"); private static final org.apache.thrift.protocol.TField SENDER_FIELD_DESC = new org.apache.thrift.protocol.TField("sender", org.apache.thrift.protocol.TType.STRING, (short)1); @@ -644,19 +647,19 @@ import org.slf4j.LoggerFactory; return getSvc(); case TRACE_ID: - return Long.valueOf(getTraceId()); + return getTraceId(); case SPAN_ID: - return Long.valueOf(getSpanId()); + return getSpanId(); case PARENT_ID: - return Long.valueOf(getParentId()); + return getParentId(); case START: - return Long.valueOf(getStart()); + return getStart(); case STOP: - return Long.valueOf(getStop()); + return getStop(); case DESCRIPTION: return getDescription(); @@ -810,7 +813,59 @@ import org.slf4j.LoggerFactory; @Override public int hashCode() { - return 0; + List<Object> list = new ArrayList<Object>(); + + boolean present_sender = true && (isSetSender()); + list.add(present_sender); + if (present_sender) + list.add(sender); + + boolean present_svc = true && (isSetSvc()); + list.add(present_svc); + if (present_svc) + list.add(svc); + + boolean present_traceId = true; + list.add(present_traceId); + if (present_traceId) + list.add(traceId); + + boolean present_spanId = true; + list.add(present_spanId); + if (present_spanId) + list.add(spanId); + + boolean present_parentId = true; + list.add(present_parentId); + if (present_parentId) + list.add(parentId); + + boolean present_start = true; + list.add(present_start); + if (present_start) + list.add(start); + + boolean present_stop = true; + list.add(present_stop); + if (present_stop) + list.add(stop); + + boolean present_description = true && (isSetDescription()); + list.add(present_description); + if (present_description) + list.add(description); + + boolean present_data = true && (isSetData()); + list.add(present_data); + if (present_data) + list.add(data); + + boolean present_annotations = true && (isSetAnnotations()); + list.add(present_annotations); + if (present_annotations) + list.add(annotations); + + return list.hashCode(); } @Override @@ -1114,13 +1169,13 @@ import org.slf4j.LoggerFactory; { org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin(); struct.data = new HashMap<String,String>(2*_map0.size); - for (int _i1 = 0; _i1 < _map0.size; ++_i1) + String _key1; + String _val2; + for (int _i3 = 0; _i3 < _map0.size; ++_i3) { - String _key2; - String _val3; - _key2 = iprot.readString(); - _val3 = iprot.readString(); - struct.data.put(_key2, _val3); + _key1 = iprot.readString(); + _val2 = iprot.readString(); + struct.data.put(_key1, _val2); } iprot.readMapEnd(); } @@ -1134,12 +1189,12 @@ import org.slf4j.LoggerFactory; { org.apache.thrift.protocol.TList _list4 = iprot.readListBegin(); struct.annotations = new ArrayList<Annotation>(_list4.size); - for (int _i5 = 0; _i5 < _list4.size; ++_i5) + Annotation _elem5; + for (int _i6 = 0; _i6 < _list4.size; ++_i6) { - Annotation _elem6; - _elem6 = new Annotation(); - _elem6.read(iprot); - struct.annotations.add(_elem6); + _elem5 = new Annotation(); + _elem5.read(iprot); + struct.annotations.add(_elem5); } iprot.readListEnd(); } @@ -1352,13 +1407,13 @@ import org.slf4j.LoggerFactory; { org.apache.thrift.protocol.TMap _map11 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); struct.data = new HashMap<String,String>(2*_map11.size); - for (int _i12 = 0; _i12 < _map11.size; ++_i12) + String _key12; + String _val13; + for (int _i14 = 0; _i14 < _map11.size; ++_i14) { - String _key13; - String _val14; - _key13 = iprot.readString(); - _val14 = iprot.readString(); - struct.data.put(_key13, _val14); + _key12 = iprot.readString(); + _val13 = iprot.readString(); + struct.data.put(_key12, _val13); } } struct.setDataIsSet(true); @@ -1367,12 +1422,12 @@ import org.slf4j.LoggerFactory; { org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); struct.annotations = new ArrayList<Annotation>(_list15.size); - for (int _i16 = 0; _i16 < _list15.size; ++_i16) + Annotation _elem16; + for (int _i17 = 0; _i17 < _list15.size; ++_i17) { - Annotation _elem17; - _elem17 = new Annotation(); - _elem17.read(iprot); - struct.annotations.add(_elem17); + _elem16 = new Annotation(); + _elem16.read(iprot); + struct.annotations.add(_elem16); } } struct.setAnnotationsIsSet(true); http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/SpanReceiver.java ---------------------------------------------------------------------- diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/SpanReceiver.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/SpanReceiver.java index 6728522..e59ab84 100644 --- a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/SpanReceiver.java +++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/SpanReceiver.java @@ -15,7 +15,7 @@ * limitations under the License. */ /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -45,10 +45,13 @@ import java.util.Collections; import java.util.BitSet; import java.nio.ByteBuffer; import java.util.Arrays; +import javax.annotation.Generated; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings({"unchecked", "serial", "rawtypes", "unused"}) public class SpanReceiver { +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-16") +public class SpanReceiver { public interface Iface { @@ -91,7 +94,7 @@ import org.slf4j.LoggerFactory; { span_args args = new span_args(); args.setSpan(span); - sendBase("span", args); + sendBaseOneway("span", args); } } @@ -127,7 +130,7 @@ import org.slf4j.LoggerFactory; } public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { - prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("span", org.apache.thrift.protocol.TMessageType.CALL, 0)); + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("span", org.apache.thrift.protocol.TMessageType.ONEWAY, 0)); span_args args = new span_args(); args.setSpan(span); args.write(prot); @@ -421,7 +424,14 @@ import org.slf4j.LoggerFactory; @Override public int hashCode() { - return 0; + List<Object> list = new ArrayList<Object>(); + + boolean present_span = true && (isSetSpan()); + list.add(present_span); + if (present_span) + list.add(span); + + return list.hashCode(); } @Override http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/TestService.java ---------------------------------------------------------------------- diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/TestService.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/TestService.java index 262e71a..71165e2 100644 --- a/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/TestService.java +++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/thrift/TestService.java @@ -15,7 +15,7 @@ * limitations under the License. */ /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.3) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -45,10 +45,13 @@ import java.util.Collections; import java.util.BitSet; import java.nio.ByteBuffer; import java.util.Arrays; +import javax.annotation.Generated; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings({"unchecked", "serial", "rawtypes", "unused"}) public class TestService { +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-16") +public class TestService { public interface Iface { @@ -522,7 +525,19 @@ import org.slf4j.LoggerFactory; @Override public int hashCode() { - return 0; + List<Object> list = new ArrayList<Object>(); + + boolean present_tinfo = true && (isSetTinfo()); + list.add(present_tinfo); + if (present_tinfo) + list.add(tinfo); + + boolean present_message = true && (isSetMessage()); + list.add(present_message); + if (present_message) + list.add(message); + + return list.hashCode(); } @Override @@ -878,7 +893,7 @@ import org.slf4j.LoggerFactory; public Object getFieldValue(_Fields field) { switch (field) { case SUCCESS: - return Boolean.valueOf(isSuccess()); + return isSuccess(); } throw new IllegalStateException(); @@ -924,7 +939,14 @@ import org.slf4j.LoggerFactory; @Override public int hashCode() { - return 0; + List<Object> list = new ArrayList<Object>(); + + boolean present_success = true; + list.add(present_success); + if (present_success) + list.add(success); + + return list.hashCode(); } @Override http://git-wip-us.apache.org/repos/asf/accumulo/blob/3af75fc6/test/pom.xml ---------------------------------------------------------------------- diff --git a/test/pom.xml b/test/pom.xml index f2ccfaf..a48efb8 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -137,6 +137,10 @@ </dependency> <dependency> <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> <artifactId>commons-math</artifactId> </dependency> <dependency>