-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49403/
-----------------------------------------------------------

Review request for Flume.


Bugs: FLUME-2937
    https://issues.apache.org/jira/browse/FLUME-2937


Repository: flume-git


Description
-------

This patch runs checkstyle as part of the Maven build and fixes existing files 
to adhere to that style. This patch is only for the runtime code. It does not 
include the unit test code.

The style being used is the Google Java style, with some minor loosening to be 
close to the style that the code is mostly already written in.


Diffs
-----

  flume-checkstyle/pom.xml PRE-CREATION 
  flume-checkstyle/src/main/resources/flume/checkstyle-suppressions.xml 
PRE-CREATION 
  flume-checkstyle/src/main/resources/flume/checkstyle.xml PRE-CREATION 
  flume-ng-auth/src/main/java/org/apache/flume/api/SecureRpcClientFactory.java 
c976458 
  flume-ng-auth/src/main/java/org/apache/flume/api/SecureThriftRpcClient.java 
f31582c 
  
flume-ng-auth/src/main/java/org/apache/flume/auth/FlumeAuthenticationUtil.java 
5627652 
  flume-ng-auth/src/main/java/org/apache/flume/auth/KerberosAuthenticator.java 
4a0e0f4 
  flume-ng-auth/src/main/java/org/apache/flume/auth/KerberosUser.java dd37721 
  flume-ng-auth/src/main/java/org/apache/flume/auth/SimpleAuthenticator.java 
f7b5bea 
  flume-ng-auth/src/main/java/org/apache/flume/auth/UGIExecutor.java cd62b91 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/BadCheckpointException.java
 588506a 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java
 b961ae2 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Commit.java
 3663244 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CorruptEventException.java
 691d291 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/EventQueueBackingStoreFactory.java
 456df34 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/EventQueueBackingStoreFile.java
 2b0987b 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/EventQueueBackingStoreFileV2.java
 abd2ea3 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/EventQueueBackingStoreFileV3.java
 9dfa0d1 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/EventUtils.java
 ff5242a 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
 ed2b996 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannelConfiguration.java
 5c3c48f 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FlumeEvent.java
 53c1251 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FlumeEventPointer.java
 5f06ab7 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FlumeEventQueue.java
 d305f4d 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java
 247c287 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFile.java
 488dcf4 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFileFactory.java
 7d7fd85 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFileRetryableIOException.java
 9447652 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFileV2.java
 bb25e95 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogFileV3.java
 9b0ef93 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogRecord.java
 19ad0d6 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/LogUtils.java
 d1498c2 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Pair.java
 dfcdd73 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Put.java
 f08f024 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/ReplayHandler.java
 a559503 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Rollback.java
 335ad0b 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Serialization.java
 a6eda75 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Take.java
 143143a 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionEventRecord.java
 1eb3f4f 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/TransactionIDOracle.java
 a9f6be6 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/WritableUtils.java
 69072db 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/WriteOrderOracle.java
 dbf1c1e 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/AESCTRNoPaddingProvider.java
 9ee4245 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/CipherProvider.java
 2c71bc9 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/CipherProviderFactory.java
 ca11f6b 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/CipherProviderType.java
 87834d7 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/DecryptionFailureException.java
 0155c39 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/JCEFileKeyProvider.java
 f961ef9 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/encryption/KeyProviderType.java
 0fef6dc 
  
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/proto/ProtosFactory.java
 34f93d9 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/ConfigurationConstants.java
 3b97684 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/JdbcChannel.java
 1192452 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/JdbcChannelProvider.java
 e445d61 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/DerbySchemaHandler.java
 2dc3fcc 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcChannelProviderImpl.java
 f42b4dd 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/JdbcTransactionImpl.java
 13b14f5 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/SchemaHandler.java
 dba96fc 
  
flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/impl/SchemaHandlerFactory.java
 2543848 
  
flume-ng-channels/flume-kafka-channel/src/main/java/org/apache/flume/channel/kafka/KafkaChannel.java
 dfc95bc 
  
flume-ng-channels/flume-kafka-channel/src/main/java/org/apache/flume/channel/kafka/KafkaChannelConfiguration.java
 faf46b6 
  
flume-ng-channels/flume-spillable-memory-channel/src/main/java/org/apache/flume/channel/SpillableMemoryChannel.java
 bdf42cd 
  
flume-ng-clients/flume-ng-log4jappender/src/main/java/org/apache/flume/clients/log4jappender/LoadBalancingLog4jAppender.java
 713234f 
  
flume-ng-clients/flume-ng-log4jappender/src/main/java/org/apache/flume/clients/log4jappender/Log4jAppender.java
 7c483db 
  
flume-ng-clients/flume-ng-log4jappender/src/main/java/org/apache/flume/clients/log4jappender/Log4jAvroHeaders.java
 b68e749 
  flume-ng-configuration/src/main/java/org/apache/flume/Context.java c0460d2 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/BasicConfigurationConstants.java
 d6aa33a 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/ComponentConfiguration.java
 0e0614e 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/ComponentConfigurationFactory.java
 0433c9c 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/FlumeConfiguration.java
 5997406 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/FlumeConfigurationError.java
 94025a4 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkConfiguration.java
 b34a367 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkGroupConfiguration.java
 6b487e5 
  
flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
 068bd69 
  flume-ng-core/src/main/java/org/apache/flume/ChannelFactory.java 26af8e1 
  flume-ng-core/src/main/java/org/apache/flume/ChannelSelector.java f86aec7 
  flume-ng-core/src/main/java/org/apache/flume/Clock.java fc719bc 
  flume-ng-core/src/main/java/org/apache/flume/SinkFactory.java e9e52a8 
  flume-ng-core/src/main/java/org/apache/flume/SinkRunner.java c353d1f 
  flume-ng-core/src/main/java/org/apache/flume/SourceFactory.java e147410 
  flume-ng-core/src/main/java/org/apache/flume/SourceRunner.java 3246151 
  flume-ng-core/src/main/java/org/apache/flume/SystemClock.java f176807 
  flume-ng-core/src/main/java/org/apache/flume/Transaction.java 24f12a3 
  flume-ng-core/src/main/java/org/apache/flume/annotations/Disposable.java 
d8db82c 
  
flume-ng-core/src/main/java/org/apache/flume/annotations/InterfaceStability.java
 e946ac7 
  flume-ng-core/src/main/java/org/apache/flume/annotations/Recyclable.java 
a732c83 
  flume-ng-core/src/main/java/org/apache/flume/channel/AbstractChannel.java 
b991650 
  
flume-ng-core/src/main/java/org/apache/flume/channel/AbstractChannelSelector.java
 d69087f 
  
flume-ng-core/src/main/java/org/apache/flume/channel/BasicTransactionSemantics.java
 403cbca 
  
flume-ng-core/src/main/java/org/apache/flume/channel/ChannelSelectorFactory.java
 80b1453 
  
flume-ng-core/src/main/java/org/apache/flume/channel/DefaultChannelFactory.java 
1dd124e 
  flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java 
6575d10 
  
flume-ng-core/src/main/java/org/apache/flume/channel/MultiplexingChannelSelector.java
 3e32804 
  
flume-ng-core/src/main/java/org/apache/flume/channel/PseudoTxnMemoryChannel.java
 cc391c4 
  
flume-ng-core/src/main/java/org/apache/flume/channel/ReplicatingChannelSelector.java
 8a0d2bd 
  flume-ng-core/src/main/java/org/apache/flume/client/avro/AvroCLIClient.java 
3c8c267 
  
flume-ng-core/src/main/java/org/apache/flume/client/avro/ReliableSpoolingFileEventReader.java
 36d80f0 
  flume-ng-core/src/main/java/org/apache/flume/event/EventHelper.java a2c0a57 
  flume-ng-core/src/main/java/org/apache/flume/formatter/output/BucketPath.java 
e565192 
  
flume-ng-core/src/main/java/org/apache/flume/formatter/output/DefaultPathManager.java
 176db7f 
  
flume-ng-core/src/main/java/org/apache/flume/formatter/output/PathManager.java 
5a3066a 
  
flume-ng-core/src/main/java/org/apache/flume/formatter/output/PathManagerFactory.java
 4dbe083 
  
flume-ng-core/src/main/java/org/apache/flume/formatter/output/PathManagerType.java
 4f1fa93 
  
flume-ng-core/src/main/java/org/apache/flume/formatter/output/RollTimePathManager.java
 6883a9c 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/ChannelCounter.java
 977ad6c 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/GangliaServer.java 
7d4be55 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/MonitoredCounterGroup.java
 44e26e4 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/MonitoringType.java
 443335c 
  flume-ng-core/src/main/java/org/apache/flume/instrumentation/SinkCounter.java 
54f4a4c 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/SourceCounter.java 
02ef6ed 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/http/HTTPMetricsServer.java
 7c0afb0 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/kafka/KafkaChannelCounter.java
 6e142cf 
  
flume-ng-core/src/main/java/org/apache/flume/instrumentation/util/JMXPollUtil.java
 cbd6c35 
  flume-ng-core/src/main/java/org/apache/flume/interceptor/HostInterceptor.java 
2693123 
  
flume-ng-core/src/main/java/org/apache/flume/interceptor/RegexExtractorInterceptor.java
 67cfc43 
  
flume-ng-core/src/main/java/org/apache/flume/interceptor/RegexFilteringInterceptor.java
 8a3b6ce 
  
flume-ng-core/src/main/java/org/apache/flume/interceptor/SearchAndReplaceInterceptor.java
 b8588cd 
  
flume-ng-core/src/main/java/org/apache/flume/interceptor/StaticInterceptor.java 
97df467 
  
flume-ng-core/src/main/java/org/apache/flume/interceptor/TimestampInterceptor.java
 9d942f6 
  flume-ng-core/src/main/java/org/apache/flume/lifecycle/LifecycleAware.java 
d7fe7ac 
  
flume-ng-core/src/main/java/org/apache/flume/lifecycle/LifecycleSupervisor.java 
59d780a 
  
flume-ng-core/src/main/java/org/apache/flume/serialization/AvroEventDeserializer.java
 5faf449 
  
flume-ng-core/src/main/java/org/apache/flume/serialization/BodyTextEventSerializer.java
 d09f02d 
  
flume-ng-core/src/main/java/org/apache/flume/serialization/HeaderAndBodyTextEventSerializer.java
 9c6003c 
  
flume-ng-core/src/main/java/org/apache/flume/serialization/LineDeserializer.java
 7c87235 
  
flume-ng-core/src/main/java/org/apache/flume/serialization/ResettableFileInputStream.java
 618913e 
  flume-ng-core/src/main/java/org/apache/flume/sink/AbstractRpcSink.java 
5146834 
  flume-ng-core/src/main/java/org/apache/flume/sink/AbstractSink.java 1112643 
  flume-ng-core/src/main/java/org/apache/flume/sink/AbstractSinkProcessor.java 
1c30592 
  flume-ng-core/src/main/java/org/apache/flume/sink/AbstractSinkSelector.java 
9ddeef4 
  flume-ng-core/src/main/java/org/apache/flume/sink/DefaultSinkFactory.java 
6a5be92 
  flume-ng-core/src/main/java/org/apache/flume/sink/DefaultSinkProcessor.java 
00a362b 
  flume-ng-core/src/main/java/org/apache/flume/sink/FailoverSinkProcessor.java 
3bd52f2 
  
flume-ng-core/src/main/java/org/apache/flume/sink/LoadBalancingSinkProcessor.java
 2d85756 
  flume-ng-core/src/main/java/org/apache/flume/sink/LoggerSink.java 9cf9bc2 
  flume-ng-core/src/main/java/org/apache/flume/sink/NullSink.java cada6ec 
  flume-ng-core/src/main/java/org/apache/flume/sink/RollingFileSink.java 
b97d404 
  flume-ng-core/src/main/java/org/apache/flume/sink/SinkProcessorFactory.java 
dcdcad2 
  flume-ng-core/src/main/java/org/apache/flume/sink/ThriftSink.java 32021d3 
  
flume-ng-core/src/main/java/org/apache/flume/source/AbstractEventDrivenSource.java
 89bd357 
  
flume-ng-core/src/main/java/org/apache/flume/source/AbstractPollableSource.java 
33e1acc 
  flume-ng-core/src/main/java/org/apache/flume/source/AbstractSource.java 
0855de3 
  flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java 6eb6a0a 
  flume-ng-core/src/main/java/org/apache/flume/source/BasicSourceSemantics.java 
d2672b5 
  flume-ng-core/src/main/java/org/apache/flume/source/DefaultSourceFactory.java 
bb9d3f1 
  flume-ng-core/src/main/java/org/apache/flume/source/ExecSource.java 18e662c 
  
flume-ng-core/src/main/java/org/apache/flume/source/ExecSourceConfigurationConstants.java
 957ec7f 
  
flume-ng-core/src/main/java/org/apache/flume/source/MultiportSyslogTCPSource.java
 87f0db1 
  
flume-ng-core/src/main/java/org/apache/flume/source/NetcatSourceConfigurationConstants.java
 1720d5f 
  flume-ng-core/src/main/java/org/apache/flume/source/PollableSourceRunner.java 
ea37703 
  
flume-ng-core/src/main/java/org/apache/flume/source/SequenceGeneratorSource.java
 1214635 
  flume-ng-core/src/main/java/org/apache/flume/source/SpoolDirectorySource.java 
3af3e53 
  
flume-ng-core/src/main/java/org/apache/flume/source/SpoolDirectorySourceConfigurationConstants.java
 32b7837 
  flume-ng-core/src/main/java/org/apache/flume/source/StressSource.java 9aa1477 
  flume-ng-core/src/main/java/org/apache/flume/source/SyslogParser.java b57ffac 
  flume-ng-core/src/main/java/org/apache/flume/source/SyslogTcpSource.java 
bd87151 
  flume-ng-core/src/main/java/org/apache/flume/source/SyslogUDPSource.java 
47993dd 
  flume-ng-core/src/main/java/org/apache/flume/source/SyslogUtils.java 4866183 
  flume-ng-core/src/main/java/org/apache/flume/source/ThriftSource.java 7df5ddb 
  flume-ng-core/src/main/java/org/apache/flume/source/http/BLOBHandler.java 
a816363 
  flume-ng-core/src/main/java/org/apache/flume/source/http/HTTPSource.java 
b520b03 
  flume-ng-core/src/main/java/org/apache/flume/source/http/JSONHandler.java 
197f66a 
  flume-ng-core/src/main/java/org/apache/flume/tools/DirectMemoryUtils.java 
8c2db2c 
  flume-ng-core/src/main/java/org/apache/flume/tools/GetJavaProperty.java 
5d0ea74 
  
flume-ng-core/src/main/java/org/apache/flume/tools/TimestampRoundDownUtil.java 
3a59953 
  flume-ng-core/src/main/java/org/apache/flume/tools/VersionInfo.java c12cf8d 
  
flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgent.java
 32c9f18 
  
flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgentConfiguration.java
 4a49fa0 
  
flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedSource.java
 53389d2 
  
flume-ng-legacy-sources/flume-thrift-source/src/main/java/org/apache/flume/source/thriftLegacy/ThriftLegacySource.java
 47913dc 
  
flume-ng-node/src/main/java/org/apache/flume/node/AbstractConfigurationProvider.java
 40abba2 
  flume-ng-node/src/main/java/org/apache/flume/node/Application.java 959fa77 
  flume-ng-node/src/main/java/org/apache/flume/node/ConfigurationProvider.java 
6a27898 
  
flume-ng-node/src/main/java/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java
 857c8a5 
  
flume-ng-node/src/main/java/org/apache/flume/node/SimpleMaterializedConfiguration.java
 536dcc4 
  flume-ng-sdk/src/main/java/org/apache/flume/api/AbstractRpcClient.java 
5cc292a 
  flume-ng-sdk/src/main/java/org/apache/flume/api/FailoverRpcClient.java 
db6905a 
  flume-ng-sdk/src/main/java/org/apache/flume/api/HostInfo.java 8a81208 
  flume-ng-sdk/src/main/java/org/apache/flume/api/LoadBalancingRpcClient.java 
e5fcc36 
  flume-ng-sdk/src/main/java/org/apache/flume/api/NettyAvroRpcClient.java 
3661672 
  
flume-ng-sdk/src/main/java/org/apache/flume/api/RpcClientConfigurationConstants.java
 343e07b 
  flume-ng-sdk/src/main/java/org/apache/flume/api/RpcClientFactory.java 11bc94c 
  flume-ng-sdk/src/main/java/org/apache/flume/api/ThriftRpcClient.java 857948f 
  flume-ng-sdk/src/main/java/org/apache/flume/event/EventBuilder.java a5e01fc 
  flume-ng-sdk/src/main/java/org/apache/flume/event/JSONEvent.java 0ec1678 
  flume-ng-sdk/src/main/java/org/apache/flume/event/SimpleEvent.java a7ac36f 
  flume-ng-sdk/src/main/java/org/apache/flume/util/OrderSelector.java fd9e81f 
  
flume-ng-sinks/flume-dataset-sink/src/main/java/org/apache/flume/sink/kite/DatasetSink.java
 a9f42b8 
  
flume-ng-sinks/flume-dataset-sink/src/main/java/org/apache/flume/sink/kite/NonRecoverableEventException.java
 8f6c0ae 
  
flume-ng-sinks/flume-dataset-sink/src/main/java/org/apache/flume/sink/kite/parser/EntityParserFactory.java
 cfb7349 
  
flume-ng-sinks/flume-dataset-sink/src/main/java/org/apache/flume/sink/kite/policy/FailurePolicyFactory.java
 a8b2008 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/AbstractHDFSWriter.java
 e367e12 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketClosedException.java
 1aca58f 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java
 6b97de6 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSCompressedDataStream.java
 f128795 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSDataStream.java
 7054bfc 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSEventSink.java
 9a48841 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSSequenceFile.java
 a261cce 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/KerberosUser.java
 516988e 
  
flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/SequenceFileSerializerType.java
 4351488 
  
flume-ng-sinks/flume-hive-sink/src/main/java/org/apache/flume/sink/hive/HiveDelimitedTextSerializer.java
 4d70aaa 
  
flume-ng-sinks/flume-hive-sink/src/main/java/org/apache/flume/sink/hive/HiveEventSerializer.java
 386484c 
  
flume-ng-sinks/flume-hive-sink/src/main/java/org/apache/flume/sink/hive/HiveSink.java
 d93bca3 
  
flume-ng-sinks/flume-hive-sink/src/main/java/org/apache/flume/sink/hive/HiveWriter.java
 ec30c98 
  
flume-ng-sinks/flume-irc-sink/src/main/java/org/apache/flume/sink/irc/IRCSink.java
 40657b4 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/AbstractElasticSearchIndexRequestBuilderFactory.java
 9996142 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchIndexRequestBuilderFactory.java
 1ca227a 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchSink.java
 1d9dfce 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/EventSerializerIndexRequestBuilderFactory.java
 c71b2e5 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/client/ElasticSearchClientFactory.java
 873157a 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/client/ElasticSearchRestClient.java
 0d1c37f 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/client/ElasticSearchTransportClient.java
 d44c8ad 
  
flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/client/RoundRobinList.java
 dbad8d8 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/AsyncHBaseSink.java
 28f0de1 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/AsyncHbaseEventSerializer.java
 9ae6c28 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java
 e659ada 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HbaseEventSerializer.java
 2c0f0e6 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/RegexHbaseEventSerializer.java
 7d2b8b7 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/SimpleAsyncHbaseEventSerializer.java
 96095d1 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/SimpleHbaseEventSerializer.java
 758252b 
  
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/SimpleRowKeyGenerator.java
 b25eb6a 
  
flume-ng-sinks/flume-ng-kafka-sink/src/main/java/org/apache/flume/sink/kafka/KafkaSink.java
 7bef7f3 
  
flume-ng-sinks/flume-ng-kafka-sink/src/main/java/org/apache/flume/sink/kafka/KafkaSinkConstants.java
 6b64bc1 
  
flume-ng-sinks/flume-ng-morphline-solr-sink/src/main/java/org/apache/flume/sink/solr/morphline/BlobDeserializer.java
 12bdc40 
  
flume-ng-sinks/flume-ng-morphline-solr-sink/src/main/java/org/apache/flume/sink/solr/morphline/BlobHandler.java
 e84dec1 
  
flume-ng-sinks/flume-ng-morphline-solr-sink/src/main/java/org/apache/flume/sink/solr/morphline/MorphlineHandlerImpl.java
 d3154af 
  
flume-ng-sinks/flume-ng-morphline-solr-sink/src/main/java/org/apache/flume/sink/solr/morphline/MorphlineInterceptor.java
 ef8f716 
  
flume-ng-sinks/flume-ng-morphline-solr-sink/src/main/java/org/apache/flume/sink/solr/morphline/MorphlineSink.java
 9c4dc25 
  
flume-ng-sources/flume-jms-source/src/main/java/org/apache/flume/source/jms/DefaultJMSMessageConverter.java
 6b327ce 
  
flume-ng-sources/flume-jms-source/src/main/java/org/apache/flume/source/jms/InitialContextFactory.java
 2f0220a 
  
flume-ng-sources/flume-jms-source/src/main/java/org/apache/flume/source/jms/JMSMessageConsumer.java
 7a9461b 
  
flume-ng-sources/flume-jms-source/src/main/java/org/apache/flume/source/jms/JMSMessageConsumerFactory.java
 af74bf4 
  
flume-ng-sources/flume-jms-source/src/main/java/org/apache/flume/source/jms/JMSSource.java
 c1cc9cf 
  
flume-ng-sources/flume-kafka-source/src/main/java/org/apache/flume/source/kafka/KafkaSource.java
 84fef52 
  
flume-ng-sources/flume-kafka-source/src/main/java/org/apache/flume/source/kafka/KafkaSourceConstants.java
 9f20f61 
  
flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java
 8128df4 
  
flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TailFile.java
 cb36e41 
  
flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirMatcher.java
 245aef5 
  
flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
 dfb5b29 
  
flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSourceConfigurationConstants.java
 b0c934d 
  
flume-ng-tests/src/test/java/org/apache/flume/test/agent/TestRpcClientCommunicationFailure.java
 f488bae 
  
flume-tools/src/main/java/org/apache/flume/tools/FileChannelIntegrityTool.java 
7abb7eb 
  flume-tools/src/main/java/org/apache/flume/tools/FlumeToolType.java 1bb122d 
  flume-tools/src/main/java/org/apache/flume/tools/FlumeToolsMain.java 799ce85 
  pom.xml 9954353 

Diff: https://reviews.apache.org/r/49403/diff/


Testing
-------

The primary approach I used to testing this patch was to strip the line numbers 
from the compiled class files and compare the before-and-after built JARs (the 
classes inside) at the bytecode level using an MD5 checksum.

The results showed that, after applying this patch and running ProGuard to 
strip the line numbers from the generated code, the class files matched exactly 
(with one exception noted below). That means that this patch is a PURE 
whitespace patch (as far as the Java code is concerned).

The specific tool I used is called ProGuard ( http://proguard.sourceforge.net/ 
). ProGuard is a Java bytecode obfuscator and optimizer used in the Android 
ecosystem. I posted the configuration file and scripts I used to run ProGuard 
on my GitHub account (I don't see a reason to keep this as part of Flume 
proper): 
https://github.com/mpercy/flume/commit/bcef0cf190670b1b817b964d238c3c6257e2f2c4

This patch was originally a bit bigger, but I backed out several changes caught 
by this process so that all of the generated class files are the same, and I 
added several checkstyle suppressions that we can remove with code changes 
later.

After the changes, the only class file that did not match was 
org/apache/flume/package-info.class, because it is dynamically generated at 
compile time and contains the timestamp of the build.

I also ran all of the unit tests. The flaky ones are still flaky, but the rest 
passed.

It's worth mentioning that the ProGuard config file I used displayed a lot of 
warnings, which leads me to believe that Flume is not written so that it is 
fully ProGuard compatible (it uses a lot of dynamic loading, for example) hso 
it's likely that if we actually wanted to use ProGuard to obfuscate or strip 
Flume that we would need to make more code modifications. For the purpose I 
used it for, however, I believe that it is reliable.


Thanks,

Mike Percy

Reply via email to