----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/58589/#review172950 -----------------------------------------------------------
Huge changeset! I'm excited to get this merged into develop. All of my review comments are minor one-liners except the singleton. Overall I'd like to avoid adding more singletons. If Gfsh has to be a singleton, then I'd like to see it be the only singleton in Gfsh -- it could instantiate and own all of the other collaborators for which we only want one instance in a JVM. geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java Lines 84 (patched) <https://reviews.apache.org/r/58589/#comment245955> Delete empty javadocs geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java Lines 96 (patched) <https://reviews.apache.org/r/58589/#comment245956> Delete empty javadocs geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java Lines 221 (patched) <https://reviews.apache.org/r/58589/#comment245957> Delete dead code geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java Line 99 (original), 60 (patched) <https://reviews.apache.org/r/58589/#comment245958> Can CommandProcessor create its own GfshParser instance instead of introducing another singleton? geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java Lines 238 (patched) <https://reviews.apache.org/r/58589/#comment245959> Insert one line above the throw to restore the interrupt bit on the current thread: ```java Thread.currentThread().interrupt(); ``` geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java Lines 817 (patched) <https://reviews.apache.org/r/58589/#comment245960> Delete dead code geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Helper.java Lines 231 (patched) <https://reviews.apache.org/r/58589/#comment245961> Should probably move these constants to the top of the class geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/preprocessor/Stack.java Line 21 (original), 22 (patched) <https://reviews.apache.org/r/58589/#comment245962> Can these vars be private or are they used in an inner class? It would also be good to make them final geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/CommandProcessor.java Line 62 (original), 59 (patched) <https://reviews.apache.org/r/58589/#comment245963> Here's where I'd love to see us get rid of the singleton: ```java this.gfshParser = new GfshParser(cacheProperties); ``` geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java Line 229 (original), 214 (patched) <https://reviews.apache.org/r/58589/#comment245966> Can we have either Gfsh or CommandProcessor hold an instance to GfshParser instead of both? If we get rid of the singleton, then we don't want both classes constructing an instance of GfshParser. One class could delegate to the other to getGfshParser or even have just one class use GfshParser. geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java Line 472 (original), 635 (patched) <https://reviews.apache.org/r/58589/#comment245967> Delete dead code geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java Lines 988 (patched) <https://reviews.apache.org/r/58589/#comment245968> I would just remove all of these comment lines geode-core/src/main/java/org/apache/geode/management/internal/cli/util/CommandStringBuilder.java Line 45 (original), 44 (patched) <https://reviews.apache.org/r/58589/#comment245969> It's probably better to just use the line.separator system property and skip usage of SystemUtils: ```java return System.getProperty("line.separator"); ``` Maybe even move getLineSeparator() method to SystemUtils. geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserJUnitTest.java Line 60 (original), 35 (patched) <https://reviews.apache.org/r/58589/#comment245970> Can these vars be private? geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java Line 65 (original), 66 (patched) <https://reviews.apache.org/r/58589/#comment245971> DistributedRestoreSystemProperties is Serializable so you can remove transient if you want to geode-core/src/test/java/org/apache/geode/management/internal/cli/help/HelpBlockUnitTest.java Lines 27 (patched) <https://reviews.apache.org/r/58589/#comment245972> Can these vars be private? geode-core/src/test/java/org/apache/geode/management/internal/cli/help/HelperUnitTest.java Lines 36 (patched) <https://reviews.apache.org/r/58589/#comment245973> More vars that should probably be private. One reason I keep bringing this up is that I've seen others twist multiple tests together, using vars and methods in each other. Some developers tend to see this as an invitation to "use it" either directly or as an example of what to do (which would be even worse if some develop did this in product code). geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyJUnitTest.java Line 56 (original), 45 (patched) <https://reviews.apache.org/r/58589/#comment245974> Private? geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyJUnitTest.java Line 87 (original), 69 (patched) <https://reviews.apache.org/r/58589/#comment245975> Wow, that's a long method name :) Remove the "j" from the middle? - Kirk Lund On April 25, 2017, 1:08 a.m., Jinmei Liao wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/58589/ > ----------------------------------------------------------- > > (Updated April 25, 2017, 1:08 a.m.) > > > Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick > Rhomberg. > > > Repository: geode > > > Description > ------- > > GEODE-1597: use Spring shell's parser and delete our own parsing code > > * deleted usage of jopsimple and our own parser code > * reworked help/hint > > The biggest change is in GfshParser, instead of directly implement > SpringShell's Parser, now it's just a simple wrapper around SpringShell's > SimpleParser so that we can use spring's parsing code. The challenge is that > SimpleParser expects the user inupt to be in the format of "command option1 > value1 option2 value2", while gfsh expects the format to be like "command > option1=value1 option2=value2", so most of the code in GfshParser is to turn > the input into the SimpleParser input format and then feed it into > SimpleParser to get the validation and autocompletion we needed. > > So far the difference I noticed with this new implementation are: > 1) option validation is what we gain from directly using SpringShell. > 2) SpringShell doesn't allow you to specify an option twice, so for > multivalued parameters, our old parser can accept command like "change > loglevel --member=member1 --member=member2", but now the parser will give you > an error, and you should only do "change loglevel --member=member1,member2". > The new parser did something speical for --J option though, so for --J, you > can specify it multiple times. > 3) For value separator, springShell default's to ",", you can only overwrite > it with option context "splittingRegex", we do not honor the > @CliMetaData(valueSepartor=) anymore. All of our commands uses "," for > separators, so this won't break our commands, but if there is any command out > there that would define a different @CliMetaData(valueSepartor=) other than > ",", SpringShell would not know how to parse it. > 4) To specify empty string as parameter value, before you will need to to > (put region=A key="''" value="''"), spring shell would think the value you > are trying to pass in are two single quotes instead of empty strings, now, > you should only do (put region=A key="" value="") > > > Diffs > ----- > > geode-core/src/main/java/org/apache/geode/management/cli/CliMetaData.java > e69d78a2b42b4a7f21066712b9f763dc1cdb92c8 > geode-core/src/main/java/org/apache/geode/management/cli/ConverterHint.java > f45abc432dce8af67b71ca29fdfb85e0e9f6f87a > > geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandManager.java > 44004454ef1646bfeca8a7af3cffb109fd83e7d7 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/CommandResponseBuilder.java > bda030de50cca303e2aa6d3d82b17a9111fd25ef > > geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParseResult.java > d879e2d6c253eb3306fb7558fa0a2b7fbe7d1e40 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/GfshParser.java > a1d03e45dd4d6559bd9a0869c7dd95908d1858ca > > geode-core/src/main/java/org/apache/geode/management/internal/cli/Launcher.java > fc0427e20144a9092d97d05fc3ccbd0e21d5b35e > > geode-core/src/main/java/org/apache/geode/management/internal/cli/annotation/CliArgument.java > e20e73112c3b6545771c62e58795fdc53fc279c5 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ClientCommands.java > 39d0442f2cb4ec4276652169a0cfa962a78af2c9 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java > 50c9caaee88426f9a8c49d8b1abca9c2fbc66163 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java > 28ce0921e0cba412063d3a59566165544dfda3dc > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommands.java > 6324b5cfc70c0f02233f73ceab6dc56cb253cbb2 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java > 144408854daf2cd5b33dcdcf995efef77b3e942e > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommands.java > 9ad206043a284144293175baa7144bb835652a46 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java > 752ca2a612eb59c137de568f80223d58339e7231 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshHelpCommands.java > 1d1b28e568a1e175690fea5cde1a45a318b6db5d > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java > 313d1bdfb4d1e610f2353db2a4496449453a0fbe > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommands.java > 22981e72f4971f3bb297a53e9ac4d6f8ac7e149e > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/PDXCommands.java > 4327decc98e3d0fe637d73857c9eed83f7bc88b9 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueueCommands.java > 8c568336aa62c6b6cbf4e1a29584d514e84f1c96 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java > b37feabe6ed61c081e9653c94128f092ad189d10 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/WanCommands.java > 239db48417cdae0d415830ac411cb611b8433919 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/BooleanConverter.java > 5e9cdb9a642e9cda4934e7934c2fc022e7d9eabe > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/DirConverter.java > c97057bb281e64c96983e38172bcf7953f492c83 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/EnumConverter.java > 354cef9708623d9141caea08fe497deaa75f606f > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HelpConverter.java > e670274f89ce4423a77715dcee07f119c1568929 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/HintTopicConverter.java > b6f9f81af10a7773df27f77ca5707238e7ef3a3b > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/LogLevelConverter.java > 3a262405da0d9821a1c9729ca0aad21ccf626a02 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringArrayConverter.java > eacf1810ba53fc0c389cff0d5ae30ba5fea6b0c3 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/StringListConverter.java > eab096b9a5c93fd71f9a0b757d80a2d726690ad1 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandException.java > 7e5cba05d93a88fa722d98babfdabf89e4e07be0 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandInvalidException.java > a14005923ee3343d2e2e8e1818b8fbac16410ca6 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandMultiModeOptionException.java > acbc49618504bec9f8eb6f04124e02a47e0a92c3 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandNotAvailableException.java > c471df298f10211a812ae0e644c88f81c68b8132 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionException.java > a7e56be98afe94690cdc1b61ea5476a72fbd9140 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionHasMultipleValuesException.java > 4b365e3f9d611e74f345f50f87c682f272d20ba4 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionInvalidException.java > 1db8906024934a024febf447f8d5facc5f1b2ee8 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionMissingException.java > f263dce0be966a361b8b4e84ed8360cc1a659e3b > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionNotApplicableException.java > 98147787eff00d74ed5e32d2c684867fd1bf605a > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueConversionException.java > 7dbf869eab0c8331c217aed6eb82b57ea7696be6 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueException.java > ee02df8423ef48f02ed482ad3e40260799b2e7d7 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliCommandOptionValueMissingException.java > 023a8789fe4a0ca2fc11bce7482d0e9ed4aa1b2a > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionGenerator.java > fda31357a39830b7414b4751966dba2e57526b13 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/ExceptionHandler.java > 95afbafe55746bb0159e5067ae4d5aa9c0701b56 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/CliTopic.java > 791cdca5ce954153ed5013f3108d738d970b32dd > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/HelpBlock.java > PRE-CREATION > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/Helper.java > PRE-CREATION > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Block.java > dde1a20ef0bfa98a7b5dcf57c1775f1769ab3c97 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/DataNode.java > 8f5e570cc9761ddedcb7fb16b0a9615f2da87209 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Help.java > 68c10bb211c319bed679e39718660d1a466967a9 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/NewHelp.java > 90f9eda49326fa008cc5c1abb5c02f9dcfd94fd6 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/format/Row.java > ac1ca218668aff03d3a774ae2e1ebaebe8215b3c > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/utils/FormatOutput.java > 44998a03bed5203200115ce1b2023a436a52fd84 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/help/utils/HelpUtils.java > 11765c54df0df755b7f9b12b9d50986223d6b775 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java > 126eb47e90c2390953a91136e8cfb36687baf2fd > > geode-core/src/main/java/org/apache/geode/management/internal/cli/multistep/CLIMultiStepHelper.java > 0d215433c548db82b3c37b3e53be42cb0e1765fd > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/Argument.java > 9acbc2a82c9cf4d4ccdb629798bdf70e1e48a305 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/AvailabilityTarget.java > eff5fd2c2f67280ed9037216c1b15ab8b4a462d1 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/CommandTarget.java > 3dfc01ab26d0ad6ee1867ab4014028f5cc0a3649 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/GfshMethodTarget.java > 6f28830c314593004dfbb5eda113540d951fb343 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/GfshOptionParser.java > a64933c2e9c5e3122a856d292b2ad70949e5017c > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/MethodParameter.java > 599fb00d511de87d5a0b439371a9fec62377c027 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/Option.java > 4eec1128c6e4646cde7b89e04f567fee2e419ee9 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/OptionSet.java > 42270e53d047de566943a59c53969bdae8b32f54 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/Parameter.java > dc371b3ba58b2ede0663e3167835926d17a3a418 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/ParserUtils.java > 80f12867b7c0144ef9cb5aa5d5e7cc4f5c36b9f1 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/SyntaxConstants.java > 52d92128b96e119f3157e5431d579e90218cbaad > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/jopt/JoptOptionParser.java > 52224d40c9c47dd730432859033701e9b8faac4d > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/preprocessor/EnclosingCharacters.java > a35e6269bd5ba2644fd2fbeb90c6fd8a92a8b971 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/preprocessor/Preprocessor.java > 0dd875ad95ae30a6f2ca962da683e9e9ad0b9559 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/preprocessor/PreprocessorUtils.java > a1872c92568a65c11f52603575a7814f2eb4c3f9 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/preprocessor/Stack.java > ae47723f1ef2ff9af2e92c9991d02205fa044bac > > geode-core/src/main/java/org/apache/geode/management/internal/cli/parser/preprocessor/TrimmedInput.java > 8740f003f5a90a6ac296317ae4efee799e713baf > > geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/CommandProcessor.java > c346eaf77087102f51952a567ecd7ec036593a13 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java > bcf1b415e9ee85822c470ae6888920f0a90159fd > > geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategy.java > d74f5d6b4fce9a44d9eeebdfc7dcf716e9b1652b > > geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/MultiCommandHelper.java > 89f93d5a4f491addc955eeaaa11f0318e00f35de > > geode-core/src/main/java/org/apache/geode/management/internal/cli/shell/jline/GfshHistory.java > dc4a42fc014c73df16f057155229a51bd309efa3 > > geode-core/src/main/java/org/apache/geode/management/internal/cli/util/CommandStringBuilder.java > 16efda5f772e50b3dea4899733760b0a25513a0e > > geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/DataCommandsController.java > cfe60899503193d4079cff4798422cd4da00cd74 > > geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/ExportLogController.java > 527e059d1dfbe03778141ec0470d7340343f9e56 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/CommandManagerJUnitTest.java > 503ffb2929758d617e8539e6aefb3f7b545de9b6 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserIntegrationTest.java > f3e3bd8754e18d7a75faf4b75e3ba75b778fc9d7 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserJUnitTest.java > 44e99f461b9efc5a439e629751011a6d0edd9213 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/JoptOptionParserTest.java > 9815a9cbadae77ea94d49288922f204acf308d61 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/annotations/CliArgumentJUnitTest.java > 161f7c65e62f11aa7b25fb31cd94ad256ea497a6 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java > 165f66482758dadb75ae95d23443973e9de05891 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java > 5f885e136e09541a6d095516fc7cb7db88f659aa > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DeployCommandsDUnitTest.java > 9ed5bed8faa6bfceb0849347cd94b7c8effd3191 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java > 5b07f282b83d1539df6a7ea7bf19888436738723 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java > e99a7fbc859243579b75a76742e23fec9b738ef5 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/HelpCommandsIntegrationTest.java > b91a1f35efaa00f29a0e858a90e55c1c39c163f9 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueueCommandsDUnitTest.java > 42a0624546742491e0c8c4d8c406ae8e567c1f85 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/help/HelpBlockUnitTest.java > PRE-CREATION > > geode-core/src/test/java/org/apache/geode/management/internal/cli/help/HelperUnitTest.java > PRE-CREATION > > geode-core/src/test/java/org/apache/geode/management/internal/cli/parser/ParserUtilsJUnitTest.java > 9b22e64d263d6cb8c4453e2eea42fa85e7f1f922 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/parser/preprocessor/PreprocessorJUnitTest.java > 97325cb16b42a112680a793b6581a1fea0e8c621 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/parser/preprocessor/PreprocessorUtilsJUnitTest.java > b56cff2cfb7027999a420ae91f1f983243f865f0 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshExecutionStrategyJUnitTest.java > 54c7cf7074435b48232b61916627eed69a201f09 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshHistoryJUnitTest.java > 58453b7c70b552af30ca4e16cd624475a89e3426 > > geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshJunitTest.java > PRE-CREATION > > geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigDistributionDUnitTest.java > abbc5c0c7e83d259cd13bae61c419f8cf07db1f0 > > geode-core/src/test/java/org/apache/geode/management/internal/security/TestCommand.java > ffe6a28163acf20d13b62347c40d5cceea22c629 > > geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/cli/LuceneIndexCommands.java > 4bfa86842fd81873c132e3bbd7b529ff3e64dbc7 > > geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneCommandsSecurityDUnitTest.java > ad734e8436822112c1eb8f5c6c0be676884dd009 > > geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/cli/LuceneIndexCommandsDUnitTest.java > 7f203cee7899340e19d589a4618be4ea7632faac > > geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/configuration/LuceneClusterConfigurationDUnitTest.java > 5c1832575ec5c5cccdce670bd9b3477708f79148 > > > Diff: https://reviews.apache.org/r/58589/diff/3/ > > > Testing > ------- > > precheckin passing except one unittest that always fails in concourse but > succeed in local. > > > Thanks, > > Jinmei Liao > >