-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49830/
-----------------------------------------------------------
Review request for Flume and Hari Shreedharan.
Bugs: FLUME-2937
https://issues.apache.org/jira/browse/FLUME-2937
Repository: flume-git
Description
-------
This patch makes the Flume test code conform to the Google style guidelines.
This patch also makes all future style violations fatal to the build.
This patch is whitespace-only from a code perspective. After stripping
line numbers, the generated test bytecode before and after these changes
is identical.
Diffs
-----
flume-checkstyle/pom.xml 31db3c0
flume-checkstyle/src/main/resources/flume/checkstyle-suppressions.xml 49c8834
flume-checkstyle/src/main/resources/flume/checkstyle.xml e8913f0
flume-ng-auth/src/test/java/org/apache/flume/auth/TestFlumeAuthenticator.java
5a8860d
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/CountingSinkRunner.java
0733dc4
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/CountingSourceRunner.java
b6abc35
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestCheckpoint.java
c1de12e
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestEventQueueBackingStoreFactory.java
52c706d
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestEventUtils.java
c72e3f2
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannel.java
bb22e26
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannelFormatRegression.java
c95122b
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannelRestart.java
d5fe6fb
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFileChannelRollback.java
23fc64b
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestFlumeEventQueue.java
1adb21a
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestIntegration.java
2fbe116
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestLog.java
b1f59cd
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestLogFile.java
976a112
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecordV2.java
2356d90
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestTransactionEventRecordV3.java
eb0ce04
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/TestUtils.java
61f38d2
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/encryption/CipherProviderTestSuite.java
530ccf6
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/encryption/EncryptionTestUtils.java
6ca3246
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/encryption/TestAESCTRNoPaddingProvider.java
a7c7cb2
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/encryption/TestFileChannelEncryption.java
d4537a8
flume-ng-channels/flume-file-channel/src/test/java/org/apache/flume/channel/file/encryption/TestJCEFileKeyProvider.java
f33cada
flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/BaseJdbcChannelProviderTest.java
85ad7fe
flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/MockEvent.java
1e412c5
flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/MockEventUtils.java
10d8b51
flume-ng-channels/flume-jdbc-channel/src/test/java/org/apache/flume/channel/jdbc/TestDerbySchemaHandlerQueries.java
362bcfa
flume-ng-channels/flume-kafka-channel/src/test/java/org/apache/flume/channel/kafka/TestKafkaChannel.java
d01346a
flume-ng-channels/flume-spillable-memory-channel/src/test/java/org/apache/flume/channel/TestSpillableMemoryChannel.java
1e4e819
flume-ng-clients/flume-ng-log4jappender/src/test/java/org/apache/flume/clients/log4jappender/TestLoadBalancingLog4jAppender.java
267ac1d
flume-ng-clients/flume-ng-log4jappender/src/test/java/org/apache/flume/clients/log4jappender/TestLog4jAppender.java
1b840f3
flume-ng-clients/flume-ng-log4jappender/src/test/java/org/apache/flume/clients/log4jappender/TestLog4jAppenderWithAvro.java
5899c62
flume-ng-core/src/test/java/org/apache/flume/channel/AbstractBasicChannelSemanticsTest.java
59a804c
flume-ng-core/src/test/java/org/apache/flume/channel/TestChannelProcessor.java
b37b823
flume-ng-core/src/test/java/org/apache/flume/channel/TestMemoryChannel.java
7851536
flume-ng-core/src/test/java/org/apache/flume/channel/TestMemoryChannelConcurrency.java
d4ba705
flume-ng-core/src/test/java/org/apache/flume/channel/TestMemoryChannelTransaction.java
b8e00d8
flume-ng-core/src/test/java/org/apache/flume/client/avro/TestReliableSpoolingFileEventReader.java
4e90054
flume-ng-core/src/test/java/org/apache/flume/formatter/output/TestBucketPath.java
21b972b
flume-ng-core/src/test/java/org/apache/flume/instrumentation/TestMonitoredCounterGroup.java
b1f637f
flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestHTTPMetricsServer.java
eb2d02d
flume-ng-core/src/test/java/org/apache/flume/instrumentation/kafka/KafkaSourceCounterTest.java
4a71265
flume-ng-core/src/test/java/org/apache/flume/interceptor/TestRegexExtractorInterceptorMillisSerializer.java
ac46131
flume-ng-core/src/test/java/org/apache/flume/interceptor/TestRegexExtractorInterceptorPassThroughSerializer.java
569c274
flume-ng-core/src/test/java/org/apache/flume/interceptor/TestSearchAndReplaceInterceptor.java
2ab15f5
flume-ng-core/src/test/java/org/apache/flume/serialization/SyslogAvroEventSerializer.java
896eced
flume-ng-core/src/test/java/org/apache/flume/serialization/TestAvroEventDeserializer.java
6f9ddc2
flume-ng-core/src/test/java/org/apache/flume/serialization/TestDurablePositionTracker.java
e52affb
flume-ng-core/src/test/java/org/apache/flume/serialization/TestFlumeEventAvroEventSerializer.java
3860b5e
flume-ng-core/src/test/java/org/apache/flume/serialization/TestResettableFileInputStream.java
631bdfe
flume-ng-core/src/test/java/org/apache/flume/serialization/TestSyslogAvroEventSerializer.java
7bd342a
flume-ng-core/src/test/java/org/apache/flume/sink/TestAvroSink.java 757a536
flume-ng-core/src/test/java/org/apache/flume/sink/TestDefaultSinkFactory.java
835f541
flume-ng-core/src/test/java/org/apache/flume/sink/TestFailoverSinkProcessor.java
3358cf4
flume-ng-core/src/test/java/org/apache/flume/sink/TestLoadBalancingSinkProcessor.java
7d95655
flume-ng-core/src/test/java/org/apache/flume/sink/TestRollingFileSink.java
bf4ed1f
flume-ng-core/src/test/java/org/apache/flume/sink/TestThriftSink.java 1beec76
flume-ng-core/src/test/java/org/apache/flume/source/TestAbstractPollableSource.java
d385abe
flume-ng-core/src/test/java/org/apache/flume/source/TestAvroSource.java
c75d098
flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java
afa93bf
flume-ng-core/src/test/java/org/apache/flume/source/TestMultiportSyslogTCPSource.java
c3dc241
flume-ng-core/src/test/java/org/apache/flume/source/TestNetcatSource.java
e11b4b6
flume-ng-core/src/test/java/org/apache/flume/source/TestSequenceGeneratorSource.java
2bbcdaf
flume-ng-core/src/test/java/org/apache/flume/source/TestSpoolDirectorySource.java
47fdc7a
flume-ng-core/src/test/java/org/apache/flume/source/TestStressSource.java
a651281
flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogParser.java
265157e
flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogTcpSource.java
239ba51
flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUdpSource.java
8fc80be
flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUtils.java
1c005ff
flume-ng-core/src/test/java/org/apache/flume/source/TestThriftSource.java
3d2901a
flume-ng-core/src/test/java/org/apache/flume/source/http/FlumeHttpServletRequestWrapper.java
6b94b2e
flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java
c59fdd4
flume-ng-core/src/test/java/org/apache/flume/tools/TestTimestampRoundDownUtil.java
cc7eac0
flume-ng-core/src/test/java/org/apache/flume/tools/TestVersionInfo.java
b463899
flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgent.java
241e2b5
flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgentConfiguration.java
f4a9a58
flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgentEmbeddedSource.java
9d85e6e
flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgentState.java
a14a87e
flume-ng-legacy-sources/flume-avro-source/src/test/java/org/apache/flume/source/avroLegacy/TestLegacyAvroSource.java
6e3eb53
flume-ng-legacy-sources/flume-thrift-source/src/test/java/org/apache/flume/source/thriftLegacy/TestThriftLegacySource.java
d8a6872
flume-ng-node/src/test/java/org/apache/flume/node/TestAbstractConfigurationProvider.java
15a478d
flume-ng-node/src/test/java/org/apache/flume/node/TestAbstractZooKeeperConfigurationProvider.java
1ab4127
flume-ng-node/src/test/java/org/apache/flume/node/TestApplication.java
930f2a2
flume-ng-node/src/test/java/org/apache/flume/node/TestPollingPropertiesFileConfigurationProvider.java
eed22ee
flume-ng-node/src/test/java/org/apache/flume/node/TestPropertiesFileConfigurationProvider.java
84a8cfd
flume-ng-node/src/test/java/org/apache/flume/source/TestNetcatSource.java
91fbf63
flume-ng-sdk/src/test/java/org/apache/flume/api/RpcTestUtils.java 8806860
flume-ng-sdk/src/test/java/org/apache/flume/api/TestFailoverRpcClient.java
64dc181
flume-ng-sdk/src/test/java/org/apache/flume/api/TestLoadBalancingRpcClient.java
5d6828b
flume-ng-sdk/src/test/java/org/apache/flume/api/TestNettyAvroRpcClient.java
cf4f415
flume-ng-sdk/src/test/java/org/apache/flume/api/TestThriftRpcClient.java
a8baaa8
flume-ng-sdk/src/test/java/org/apache/flume/api/ThriftTestingSource.java
70d2c1b
flume-ng-sinks/flume-dataset-sink/src/test/java/org/apache/flume/sink/kite/TestDatasetSink.java
621920d
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/HDFSTestSeqWriter.java
9c1cd09
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/MockDataStream.java
f0c6e7e
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/MockFileSystem.java
4443335
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/MockFsDataOutputStream.java
35b034e
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/MockHDFSWriter.java
ec49b97
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestBucketWriter.java
2581f73
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestHDFSEventSink.java
23862eb
flume-ng-sinks/flume-hdfs-sink/src/test/java/org/apache/flume/sink/hdfs/TestSequenceFileSerializerFactory.java
6381edc
flume-ng-sinks/flume-hive-sink/src/test/java/org/apache/flume/sink/hive/TestHiveSink.java
46724f2
flume-ng-sinks/flume-hive-sink/src/test/java/org/apache/flume/sink/hive/TestHiveWriter.java
41bf0f6
flume-ng-sinks/flume-hive-sink/src/test/java/org/apache/flume/sink/hive/TestUtil.java
107789f
flume-ng-sinks/flume-irc-sink/src/test/java/org/apache/flume/sink/irc/TestIRCSink.java
e6c065e
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/AbstractElasticSearchSinkTest.java
f9272fa
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchIndexRequestBuilderFactory.java
8022111
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchLogStashEventSerializer.java
ab9587d
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSink.java
a58f344
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSinkCreation.java
b5a4d2f
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/client/RoundRobinListTest.java
38e7399
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/client/TestElasticSearchClientFactory.java
4b70b65
flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/client/TestElasticSearchRestClient.java
1fe983a
flume-ng-sinks/flume-ng-hbase-sink/src/test/java/org/apache/flume/sink/hbase/IncrementAsyncHBaseSerializer.java
b8aefe8
flume-ng-sinks/flume-ng-hbase-sink/src/test/java/org/apache/flume/sink/hbase/TestAsyncHBaseSink.java
b4bbd6b
flume-ng-sinks/flume-ng-hbase-sink/src/test/java/org/apache/flume/sink/hbase/TestHBaseSink.java
ab65a38
flume-ng-sinks/flume-ng-hbase-sink/src/test/java/org/apache/flume/sink/hbase/TestRegexHbaseEventSerializer.java
b102b49
flume-ng-sinks/flume-ng-kafka-sink/src/test/java/org/apache/flume/sink/kafka/TestKafkaSink.java
f577e98
flume-ng-sinks/flume-ng-kafka-sink/src/test/java/org/apache/flume/sink/kafka/util/KafkaLocal.java
d8a45ef
flume-ng-sinks/flume-ng-kafka-sink/src/test/java/org/apache/flume/sink/kafka/util/ZooKeeperLocal.java
1a5728f
flume-ng-sinks/flume-ng-morphline-solr-sink/src/test/java/org/apache/flume/sink/solr/morphline/TestBlobDeserializer.java
6172c68
flume-ng-sinks/flume-ng-morphline-solr-sink/src/test/java/org/apache/flume/sink/solr/morphline/TestMorphlineInterceptor.java
22cfe96
flume-ng-sinks/flume-ng-morphline-solr-sink/src/test/java/org/apache/flume/sink/solr/morphline/TestMorphlineSolrSink.java
232c092
flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/JMSMessageConsumerTestBase.java
6881967
flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestDefaultJMSMessageConverter.java
8d413f7
flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestIntegrationActiveMQ.java
e28e02a
flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestJMSMessageConsumer.java
9bace82
flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestJMSSource.java
5423f8f
flume-ng-sources/flume-kafka-source/src/test/java/org/apache/flume/source/kafka/KafkaSourceEmbeddedKafka.java
affac03
flume-ng-sources/flume-kafka-source/src/test/java/org/apache/flume/source/kafka/KafkaSourceEmbeddedZookeeper.java
db144c2
flume-ng-sources/flume-kafka-source/src/test/java/org/apache/flume/source/kafka/TestKafkaSource.java
b4250de
flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirEventReader.java
1896883
flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirMatcher.java
4bff841
flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java
f6289cd
flume-ng-tests/src/test/java/org/apache/flume/test/agent/TestFileChannel.java
4a80b8c
flume-ng-tests/src/test/java/org/apache/flume/test/util/StagedInstall.java
973ff4a
flume-ng-tests/src/test/java/org/apache/flume/test/util/SyslogAgent.java
7159549
flume-tools/src/test/java/org/apache/flume/tools/TestFileChannelIntegrityTool.java
a11126d
pom.xml 85c0dc8
Diff: https://reviews.apache.org/r/49830/diff/
Testing
-------
Same as FLUME-2937.
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 test class files matched
exactly. 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/8365045eb0c525e59e2f2eea5e2aeca1fd5e6220
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.
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) so
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