You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2021/02/21 08:15:16 UTC

[lucene-solr] branch reference_impl_dev updated: @1359 Start getting ready for precommit.

This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/reference_impl_dev by this push:
     new b1f9d1f  @1359 Start getting ready for precommit.
b1f9d1f is described below

commit b1f9d1f1e6690816a3677b150782c75ca9a8655d
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Feb 21 02:13:31 2021 -0600

    @1359 Start getting ready for precommit.
    
    Took 1 hour 50 minutes
---
 .../ja/JapanesePartOfSpeechStopFilterFactory.java  |  1 -
 .../lucene/store/TrackingDirectoryWrapper.java     |  1 -
 .../lucene/index/BaseIndexFileFormatTestCase.java  |  2 +-
 .../org/apache/solr/analytics/NoFacetTest.java     |  2 +-
 .../solr/analytics/OverallAnalyticsTest.java       |  2 +-
 .../solr/analytics/facet/PivotFacetTest.java       |  2 +-
 .../solr/analytics/facet/QueryFacetTest.java       |  2 +-
 .../solr/analytics/facet/RangeFacetTest.java       |  2 +-
 .../solr/analytics/facet/ValueFacetTest.java       |  2 +-
 .../legacy/facet/LegacyFieldFacetCloudTest.java    |  2 +-
 .../facet/LegacyFieldFacetExtrasCloudTest.java     |  2 +-
 .../legacy/facet/LegacyQueryFacetCloudTest.java    |  2 +-
 .../legacy/facet/LegacyRangeFacetCloudTest.java    |  2 +-
 .../clustering/ClusteringComponentTest.java        |  2 +-
 .../DistributedClusteringComponentTest.java        |  2 +-
 .../carrot2/CarrotClusteringEngineTest.java        |  2 +-
 .../handler/dataimport/TestZKPropertiesWriter.java |  4 +-
 .../apache/solr/jaeger/TestJaegerConfigurator.java |  2 +-
 .../ltr/store/rest/TestManagedFeatureStore.java    |  2 +-
 .../prometheus/scraper/SolrCloudScraperTest.java   |  2 +-
 .../scraper/SolrStandaloneScraperTest.java         |  4 +-
 .../solr/velocity/VelocityResponseWriterTest.java  |  2 +-
 .../java/org/apache/solr/cloud/DistributedMap.java |  3 +-
 .../src/java/org/apache/solr/cloud/Overseer.java   | 12 +---
 .../solr/cloud/OverseerTaskExecutorTask.java       | 16 +++++
 .../apache/solr/cloud/OverseerTaskProcessor.java   | 22 -------
 .../org/apache/solr/cloud/RecoveryStrategy.java    |  4 +-
 .../java/org/apache/solr/cloud/StatePublisher.java |  2 -
 .../java/org/apache/solr/cloud/ZkController.java   | 19 +++---
 .../java/org/apache/solr/cloud/ZkShardTerms.java   |  1 -
 .../solr/cloud/api/collections/AddReplicaCmd.java  |  8 +--
 .../solr/cloud/api/collections/AliasCmd.java       |  2 +-
 .../apache/solr/cloud/api/collections/Assign.java  |  2 +-
 .../cloud/api/collections/CreateCollectionCmd.java |  7 +--
 .../solr/cloud/api/collections/CreateShardCmd.java |  4 +-
 .../solr/cloud/api/collections/DeleteNodeCmd.java  |  2 +-
 .../cloud/api/collections/DeleteReplicaCmd.java    |  4 +-
 .../solr/cloud/api/collections/DeleteShardCmd.java |  2 +-
 .../cloud/api/collections/ModifyCollectionCmd.java | 16 +++++
 .../solr/cloud/api/collections/MoveReplicaCmd.java |  2 +-
 .../OverseerCollectionMessageHandler.java          |  6 +-
 .../cloud/api/collections/OverseerRoleCmd.java     |  2 +-
 .../solr/cloud/api/collections/ReplaceNodeCmd.java |  2 +-
 .../solr/cloud/api/collections/SplitShardCmd.java  |  2 +-
 .../solr/cloud/overseer/ClusterStateMutator.java   |  2 +-
 .../apache/solr/cloud/overseer/ReplicaMutator.java |  2 +-
 .../apache/solr/cloud/overseer/ZkStateWriter.java  | 22 ++++---
 .../apache/solr/core/CachingDirectoryFactory.java  |  6 +-
 .../java/org/apache/solr/core/CoreContainer.java   |  4 +-
 .../src/java/org/apache/solr/core/SolrConfig.java  |  2 +-
 .../src/java/org/apache/solr/core/SolrCore.java    |  4 +-
 .../java/org/apache/solr/core/SolrCoreGauge.java   | 17 ++++-
 .../src/java/org/apache/solr/core/SolrCores.java   |  2 +-
 .../java/org/apache/solr/core/XmlConfigFile.java   |  5 +-
 .../apache/solr/filestore/DistribPackageStore.java |  2 +-
 .../apache/solr/filestore/NRTCachingDirectory.java |  4 +-
 .../apache/solr/handler/CheckSumFailException.java | 16 +++++
 .../solr/handler/ContentStreamHandlerBase.java     |  4 +-
 .../java/org/apache/solr/handler/IndexFetcher.java | 17 +++--
 .../apache/solr/handler/ReplicationHandler.java    | 10 ++-
 .../apache/solr/handler/RequestHandlerBase.java    |  4 +-
 .../solr/handler/admin/CollectionsHandler.java     | 18 ++++--
 .../solr/handler/admin/MetricsHistoryHandler.java  |  4 +-
 .../apache/solr/handler/admin/PrepRecoveryOp.java  |  6 +-
 .../org/apache/solr/handler/admin/SplitOp.java     |  4 +-
 .../solr/handler/admin/SystemInfoHandler.java      |  2 +-
 .../solr/handler/admin/ZookeeperStatusHandler.java |  4 +-
 .../handler/component/HttpShardHandlerFactory.java |  4 +-
 .../handler/component/RealTimeGetComponent.java    | 12 +++-
 .../component/SolrExecutorCompletionService.java   | 23 +++++--
 .../org/apache/solr/metrics/SolrMetricManager.java |  2 +-
 .../apache/solr/metrics/SolrMetricRegistry.java    | 16 +++++
 .../java/org/apache/solr/pkg/PackageLoader.java    |  4 +-
 .../java/org/apache/solr/request/SimpleFacets.java |  2 +-
 .../java/org/apache/solr/schema/IndexSchema.java   |  2 +-
 .../org/apache/solr/schema/ManagedIndexSchema.java | 14 +++--
 .../solr/schema/ManagedIndexSchemaFactory.java     |  4 +-
 .../apache/solr/schema/ZkIndexSchemaReader.java    | 12 +++-
 .../apache/solr/search/SolrIndexSearcherGauge.java | 16 +++++
 .../apache/solr/security/AuditLoggerPlugin.java    |  2 +-
 .../java/org/apache/solr/servlet/HttpSolrCall.java | 34 +++++++---
 .../apache/solr/servlet/SolrDispatchFilter.java    | 29 ++++++---
 .../apache/solr/servlet/SolrLifcycleListener.java  | 16 +++++
 .../org/apache/solr/servlet/SolrQoSFilter.java     | 16 +++--
 .../apache/solr/servlet/SolrShutdownHandler.java   | 16 +++++
 .../java/org/apache/solr/servlet/StopJetty.java    | 16 +++++
 .../apache/solr/update/DirectUpdateHandler2.java   | 12 +++-
 .../org/apache/solr/update/SolrCmdDistributor.java | 10 ++-
 .../java/org/apache/solr/update/SolrCoreState.java |  8 ++-
 .../processor/DistributedUpdateProcessor.java      | 10 ++-
 .../processor/DistributedZkUpdateProcessor.java    |  2 +-
 .../org/apache/solr/util/SystemIdResolver.java     |  8 ++-
 .../solr/util/plugin/AbstractPluginLoader.java     |  8 ++-
 .../org/apache/solr/BasicFunctionalityTest.java    |  4 +-
 .../test/org/apache/solr/ConvertedLegacyTest.java  |  2 +-
 .../apache/solr/cloud/AliasIntegrationTest.java    |  2 +-
 .../solr/cloud/ChaosMonkeyNothingIsSafeTest.java   |  2 +-
 ...aosMonkeyNothingIsSafeWithPullReplicasTest.java |  2 +-
 .../solr/cloud/ChaosMonkeyShardSplitTest.java      |  2 +-
 .../solr/cloud/ClusterStateMockUtilTest.java       |  2 +-
 .../solr/cloud/CollectionStateZnodeTest.java       |  2 +-
 .../apache/solr/cloud/CollectionsAPISolrJTest.java | 30 ++++-----
 .../solr/cloud/CreateCollectionCleanupTest.java    |  4 +-
 .../apache/solr/cloud/CreateRoutedAliasTest.java   |  2 +-
 .../test/org/apache/solr/cloud/DeleteNodeTest.java |  2 +-
 .../org/apache/solr/cloud/DeleteReplicaTest.java   |  4 +-
 .../org/apache/solr/cloud/DeleteShardTest.java     |  2 +-
 .../apache/solr/cloud/DistribCursorPagingTest.java |  4 +-
 .../solr/cloud/DistribJoinFromCollectionTest.java  |  2 +-
 .../solr/cloud/FullSolrCloudDistribCmdsTest.java   |  2 +-
 .../org/apache/solr/cloud/LeaderElectionTest.java  |  8 +--
 .../cloud/LeaderFailureAfterFreshStartTest.java    |  2 +-
 .../solr/cloud/MetricsHistoryIntegrationTest.java  |  2 +-
 .../solr/cloud/MissingSegmentRecoveryTest.java     |  6 +-
 .../org/apache/solr/cloud/MoveReplicaTest.java     |  4 +-
 .../solr/cloud/NestedShardedAtomicUpdateTest.java  |  6 +-
 ...OverriddenZkACLAndCredentialsProvidersTest.java |  2 +-
 .../org/apache/solr/cloud/OverseerStatusTest.java  |  2 +-
 .../test/org/apache/solr/cloud/OverseerTest.java   |  2 +-
 .../apache/solr/cloud/PeerSyncReplicationTest.java |  2 +-
 .../apache/solr/cloud/ReindexCollectionTest.java   |  2 +-
 .../org/apache/solr/cloud/ReplaceNodeTest.java     |  6 +-
 .../org/apache/solr/cloud/RollingRestartTest.java  |  2 +-
 .../org/apache/solr/cloud/ShardRoutingTest.java    |  6 +-
 .../apache/solr/cloud/SolrCloudBridgeTestCase.java |  2 +-
 .../solr/cloud/SystemCollectionCompatTest.java     |  2 +-
 .../solr/cloud/TestAuthenticationFramework.java    |  2 +-
 .../org/apache/solr/cloud/TestConfigSetsAPI.java   |  4 +-
 .../solr/cloud/TestDistribDocBasedVersion.java     |  4 +-
 .../solr/cloud/TestExactSharedStatsCacheCloud.java |  2 +-
 .../solr/cloud/TestExactStatsCacheCloud.java       |  2 +-
 .../apache/solr/cloud/TestLRUStatsCacheCloud.java  |  2 +-
 .../cloud/TestLeaderElectionWithEmptyReplica.java  |  6 +-
 .../solr/cloud/TestLeaderElectionZkExpiry.java     |  2 +-
 .../solr/cloud/TestMiniSolrCloudClusterSSL.java    |  2 +-
 .../solr/cloud/TestOnReconnectListenerSupport.java |  4 +-
 .../solr/cloud/TestPullReplicaErrorHandling.java   |  2 +-
 .../solr/cloud/TestQueryingOnDownCollection.java   |  2 +-
 .../apache/solr/cloud/TestSSLRandomization.java    |  2 +-
 .../solr/cloud/TestSkipOverseerOperations.java     |  2 +-
 .../cloud/TestSolrCloudWithDelegationTokens.java   |  4 +-
 .../solr/cloud/TestSolrCloudWithKerberosAlt.java   |  2 +-
 .../TestSolrCloudWithSecureImpersonation.java      |  2 +-
 .../cloud/TestStressCloudBlindAtomicUpdates.java   |  4 +-
 .../org/apache/solr/cloud/TestTlogReplica.java     |  8 +--
 .../cloud/TestTolerantUpdateProcessorCloud.java    |  2 +-
 .../TestTolerantUpdateProcessorRandomCloud.java    |  4 +-
 .../VMParamsZkACLAndCredentialsProvidersTest.java  |  2 +-
 .../src/test/org/apache/solr/cloud/ZkCLITest.java  |  2 +-
 .../org/apache/solr/cloud/ZkControllerTest.java    |  4 +-
 .../test/org/apache/solr/cloud/ZkFailoverTest.java |  2 +-
 .../AbstractCloudBackupRestoreTestCase.java        |  2 +-
 .../AsyncCallRequestStatusResponseTest.java        |  2 +-
 .../collections/CollectionTooManyReplicasTest.java |  2 +-
 .../CollectionsAPIAsyncDistributedZkTest.java      |  2 +-
 .../CollectionsAPIDistClusterPerZkTest.java        |  6 +-
 .../CollectionsAPIDistributedZkTest.java           |  2 +-
 .../api/collections/CustomCollectionTest.java      |  4 +-
 .../solr/cloud/api/collections/ShardSplitTest.java | 22 ++++---
 .../cloud/api/collections/SplitByPrefixTest.java   |  7 +--
 .../cloud/api/collections/TestCollectionAPI.java   |  2 +-
 .../collections/TestLocalFSCloudBackupRestore.java |  2 +-
 .../api/collections/TestReplicaProperties.java     |  2 +-
 .../solr/cloud/hdfs/HDFSCollectionsAPITest.java    |  2 +-
 .../solr/cloud/hdfs/HdfsRecoverLeaseTest.java      |  2 +-
 .../apache/solr/core/BlobRepositoryCloudTest.java  |  2 +-
 .../test/org/apache/solr/core/CoreSorterTest.java  |  2 +-
 .../solr/core/ExitableDirectoryReaderTest.java     |  4 +-
 .../org/apache/solr/core/RequestHandlersTest.java  |  2 +-
 .../solr/core/SolrCoreCheckLockOnStartupTest.java  |  2 +-
 .../test/org/apache/solr/core/SolrCoreTest.java    |  4 +-
 .../org/apache/solr/core/TestCodecSupport.java     |  2 +-
 .../org/apache/solr/core/TestCoreContainer.java    |  2 +-
 .../org/apache/solr/core/TestCustomStream.java     |  2 +-
 .../org/apache/solr/core/TestJmxIntegration.java   |  2 +-
 .../test/org/apache/solr/core/TestLazyCores.java   | 14 ++---
 .../apache/solr/core/TestSolrConfigHandler.java    |  4 +-
 .../src/test/org/apache/solr/core/TestSolrXml.java |  2 +-
 .../org/apache/solr/core/TestXIncludeConfig.java   |  2 +-
 .../solr/core/snapshots/TestSolrCoreSnapshots.java |  2 +-
 .../solr/filestore/TestDistribPackageStore.java    |  2 +-
 .../org/apache/solr/handler/TestBlobHandler.java   |  2 +-
 .../solr/handler/TestReplicationHandler.java       | 12 ++--
 .../TestReplicationHandlerDiskOverFlow.java        |  2 +-
 .../solr/handler/TestSolrConfigHandlerCloud.java   |  2 +-
 .../handler/admin/CoreAdminCreateDiscoverTest.java |  2 +-
 .../solr/handler/admin/CoreAdminHandlerTest.java   |  2 +-
 .../solr/handler/admin/HealthCheckHandlerTest.java |  2 +-
 .../solr/handler/admin/IndexSizeEstimatorTest.java |  2 +-
 .../solr/handler/admin/TestCollectionAPIs.java     |  2 +-
 .../component/CustomHighlightComponentTest.java    |  2 +-
 .../component/CustomTermsComponentTest.java        |  2 +-
 .../handler/component/InfixSuggestersTest.java     |  4 +-
 .../component/TestHttpShardHandlerFactory.java     |  2 +-
 .../org/apache/solr/metrics/JvmMetricsTest.java    |  2 +-
 .../solr/metrics/SolrMetricsIntegrationTest.java   |  2 +-
 .../reporters/SolrGraphiteReporterTest.java        |  4 +-
 .../metrics/reporters/SolrSlf4jReporterTest.java   |  2 +-
 .../reporters/solr/SolrCloudReportersTest.java     |  2 +-
 .../reporters/solr/SolrShardReporterTest.java      |  2 +-
 .../solr/response/TestCSVResponseWriter.java       |  2 +-
 .../solr/response/TestGraphMLResponseWriter.java   |  2 +-
 .../TestChildDocTransformerHierarchy.java          |  2 +-
 .../transform/TestSubQueryTransformerDistrib.java  |  2 +-
 .../TestManagedSynonymGraphFilterFactory.java      |  2 +-
 .../solr/schema/ExternalFileFieldSortTest.java     |  2 +-
 .../apache/solr/schema/SchemaApiFailureTest.java   |  2 +-
 .../schema/SchemaVersionSpecificBehaviorTest.java  |  2 +-
 .../solr/schema/SpatialRPTFieldTypeTest.java       |  2 +-
 .../solr/schema/TestBulkSchemaConcurrent.java      |  2 +-
 .../apache/solr/schema/TestCloudManagedSchema.java |  2 +-
 .../org/apache/solr/schema/TestManagedSchema.java  |  2 +-
 .../org/apache/solr/schema/TestPointFields.java    |  2 +-
 .../solr/search/CurrencyRangeFacetCloudTest.java   |  2 +-
 .../org/apache/solr/search/TestIndexSearcher.java  |  4 +-
 .../org/apache/solr/search/TestSolr4Spatial2.java  |  2 +-
 .../apache/solr/search/TestSolrQueryParser.java    | 24 ++++----
 .../org/apache/solr/search/TestStressReorder.java  |  2 +-
 .../org/apache/solr/search/TestStressVersions.java |  2 +-
 .../search/facet/SpatialHeatmapFacetsTest.java     |  2 +-
 .../apache/solr/search/facet/TestJsonFacets.java   |  2 +-
 .../apache/solr/search/stats/TestDistribIDF.java   |  2 +-
 .../solr/security/AuditLoggerIntegrationTest.java  |  2 +-
 .../solr/security/BasicAuthIntegrationTest.java    |  6 +-
 .../solr/security/BasicAuthOnSingleNodeTest.java   |  4 +-
 .../solr/security/BasicAuthStandaloneTest.java     |  2 +-
 .../security/JWTAuthPluginIntegrationTest.java     |  2 +-
 .../security/PKIAuthenticationIntegrationTest.java |  2 +-
 .../solr/security/TestAuthorizationFramework.java  |  2 +-
 .../hadoop/TestDelegationWithHadoopAuth.java       |  2 +-
 .../hadoop/TestImpersonationWithHadoopAuth.java    |  2 +-
 .../security/hadoop/TestZkAclsWithHadoopAuth.java  |  2 +-
 .../org/apache/solr/servlet/CacheHeaderTest.java   |  2 +-
 .../solr/servlet/HttpSolrCallGetCoreTest.java      |  2 +-
 .../org/apache/solr/servlet/NoCacheHeaderTest.java |  2 +-
 .../apache/solr/servlet/ResponseHeaderTest.java    |  2 +-
 .../test/org/apache/solr/update/PeerSyncTest.java  |  4 +-
 .../apache/solr/update/SolrCmdDistributorTest.java |  4 +-
 .../update/TestInPlaceUpdateWithRouteField.java    |  4 +-
 .../solr/update/TestInPlaceUpdatesDistrib.java     |  8 +--
 .../AddSchemaFieldsUpdateProcessorFactoryTest.java |  4 +-
 .../AtomicUpdateProcessorFactoryTest.java          |  2 +-
 .../processor/TestDocBasedVersionConstraints.java  |  2 +-
 .../processor/TolerantUpdateProcessorTest.java     |  2 +-
 .../org/apache/solr/util/SimplePostToolTest.java   |  2 +-
 .../test/org/apache/solr/util/TestExportTool.java  |  2 +-
 .../org/apache/solr/util/TestSafeXMLParsing.java   |  2 +-
 .../solr/util/tracing/TestDistributedTracing.java  |  2 +-
 solr/example/files/README.md                       | 72 +++++++++++-----------
 .../conf/velocity/README.md                        | 10 +--
 .../src/java/org/apache/solr/cli/AclParser.java    |  3 +-
 .../src/java/org/apache/solr/cli/CliCommand.java   | 14 ++---
 .../java/org/apache/solr/cli/DelQuotaCommand.java  |  6 +-
 .../apache/solr/cli/DeleteCollectionCommand.java   |  1 -
 .../solr/client/solrj/impl/Http2SolrClient.java    |  4 +-
 .../solr/client/solrj/impl/LBHttp2SolrClient.java  |  8 +--
 .../solr/client/solrj/impl/LBHttpSolrClient.java   |  4 +-
 .../src/java/org/apache/solr/common/ParWork.java   |  4 +-
 .../java/org/apache/solr/common/SolrThread.java    |  2 +-
 .../solr/common/cloud/ConnectionManager.java       |  2 +-
 .../org/apache/solr/common/cloud/SolrZkClient.java | 28 ++++-----
 .../apache/solr/common/cloud/ZkStateReader.java    |  8 +--
 .../solr/common/util/ObjectReleaseTracker.java     |  2 +-
 .../util/SolrScheduledExecutorScheduler.java       |  2 +-
 .../solrj/embedded/SolrExampleJettyTest.java       |  2 +-
 .../SolrExampleStreamingBinaryHttp2Test.java       |  2 +-
 .../embedded/SolrExampleStreamingHttp2Test.java    |  2 +-
 .../client/solrj/impl/BasicHttpSolrClientTest.java |  6 +-
 .../solrj/impl/CloudHttp2SolrClientRetryTest.java  |  4 +-
 .../solrj/impl/CloudHttp2SolrClientTest.java       |  4 +-
 .../solrj/impl/CloudSolrClientCacheTest.java       |  2 +-
 .../solrj/impl/CloudSolrClientRetryTest.java       |  2 +-
 .../client/solrj/impl/CloudSolrClientTest.java     |  6 +-
 ...ntUpdateHttp2SolrClientMultiCollectionTest.java |  2 +-
 .../solr/client/solrj/impl/HttpClientUtilTest.java |  2 +-
 .../client/solrj/impl/LBHttpSolrClientTest.java    |  2 +-
 .../solrj/impl/TestCloudSolrClientConnections.java |  2 +-
 .../client/solrj/io/graph/GraphExpressionTest.java |  2 +-
 .../solrj/io/stream/CloudAuthStreamTest.java       |  2 +-
 .../client/solrj/io/stream/JDBCStreamTest.java     |  4 +-
 .../solrj/io/stream/SelectWithEvaluatorsTest.java  |  2 +-
 .../solrj/io/stream/StreamDecoratorTest.java       |  2 +-
 .../solrj/io/stream/StreamExpressionTest.java      |  6 +-
 .../solr/client/solrj/io/stream/StreamingTest.java |  2 +-
 .../solr/client/solrj/request/TestCoreAdmin.java   |  2 +-
 .../apache/solr/common/util/JsonValidatorTest.java |  2 +-
 .../apache/solr/BaseDistributedSearchTestCase.java |  4 +-
 .../src/java/org/apache/solr/CollectionTester.java | 16 +++++
 .../src/java/org/apache/solr/SolrTestCase.java     | 32 ++++++----
 .../src/java/org/apache/solr/SolrTestCaseJ4.java   |  6 +-
 .../src/java/org/apache/solr/SolrTestCaseUtil.java | 16 +++++
 .../src/java/org/apache/solr/SolrTestUtil.java     | 29 +++++++--
 .../apache/solr/TestRuleTemporaryFilesCleanup.java | 16 +++++
 .../apache/solr/cloud/MiniSolrCloudCluster.java    | 17 +++--
 .../solr/cloud/NoOpenOverseerFoundException.java   | 16 +++++
 .../apache/solr/cloud/SolrCloudAuthTestCase.java   |  6 +-
 .../apache/solr/cloud/StoppableIndexingThread.java |  7 ++-
 .../java/org/apache/solr/cloud/ZkTestServer.java   | 14 +++--
 solr/webapp/web/WEB-INF/quickstart-web.xml         | 16 +++++
 299 files changed, 967 insertions(+), 606 deletions(-)

diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
index 0f3941a..642acb3 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapanesePartOfSpeechStopFilterFactory.java
@@ -18,7 +18,6 @@ package org.apache.lucene.analysis.ja;
 
 
 import java.io.IOException;
-import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
diff --git a/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java b/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
index f47b787..b8cd690 100644
--- a/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/store/TrackingDirectoryWrapper.java
@@ -18,7 +18,6 @@ package org.apache.lucene.store;
 
 
 import java.io.IOException;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
index 61ee2e0..febdae4 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
@@ -913,7 +913,7 @@ abstract class BaseIndexFileFormatTestCase extends LuceneTestCase {
 
   /** This test is a best effort at verifying that checkIntegrity doesn't miss any files. It tests that the
    *  combination of opening a reader and calling checkIntegrity on it reads all bytes of all files. */
-  @Ignore // nocommit - something off - all lucene stuff will be reset to no changes, just ignore ftm.
+  @Ignore // MRM TODO: - something off - all lucene stuff will be reset to no changes, just ignore ftm.
   public void testCheckIntegrityReadsAllBytes() throws Exception {
     assumeFalse("SimpleText doesn't store checksums of its files", getCodec() instanceof SimpleTextCodec);
     FileTrackingDirectoryWrapper dir = new FileTrackingDirectoryWrapper(newDirectory());
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
index 1f538c9..6816988 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/NoFacetTest.java
@@ -25,7 +25,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class NoFacetTest extends SolrAnalyticsTestCase {
 
   @BeforeClass
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/OverallAnalyticsTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/OverallAnalyticsTest.java
index 9e1ecdc..7213ab1 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/OverallAnalyticsTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/OverallAnalyticsTest.java
@@ -24,7 +24,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class OverallAnalyticsTest extends SolrAnalyticsFacetTestCase {
 
   @BeforeClass
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/PivotFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/PivotFacetTest.java
index 8c06f78..4683dcd 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/PivotFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/PivotFacetTest.java
@@ -23,7 +23,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class PivotFacetTest extends SolrAnalyticsFacetTestCase {
 
   @BeforeClass
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
index cee4fca..6989efe 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/QueryFacetTest.java
@@ -25,7 +25,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class QueryFacetTest extends SolrAnalyticsFacetTestCase {
 
   @BeforeClass
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
index 6a78f2b..bc49b7b 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/RangeFacetTest.java
@@ -25,7 +25,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class RangeFacetTest extends SolrAnalyticsFacetTestCase {
 
   @BeforeClass
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/ValueFacetTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/ValueFacetTest.java
index f178bed..1e25436 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/ValueFacetTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/ValueFacetTest.java
@@ -25,7 +25,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class ValueFacetTest extends SolrAnalyticsFacetTestCase {
 
   @BeforeClass
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetCloudTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetCloudTest.java
index 508d082..4145b85 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetCloudTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetCloudTest.java
@@ -29,7 +29,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class LegacyFieldFacetCloudTest extends LegacyAbstractAnalyticsFacetCloudTest {
   public static final int INT = 71;
   public static final int LONG = 36;
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java
index 8b24203..4aafc8d 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java
@@ -28,7 +28,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class LegacyFieldFacetExtrasCloudTest extends LegacyAbstractAnalyticsFacetCloudTest {
   public static final int INT = 21;
   public static final int LONG = 22;
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyQueryFacetCloudTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyQueryFacetCloudTest.java
index 39f589f..7a0d0d0 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyQueryFacetCloudTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyQueryFacetCloudTest.java
@@ -27,7 +27,7 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class LegacyQueryFacetCloudTest extends LegacyAbstractAnalyticsFacetCloudTest {
   private static final int INT = 71;
   private static final int LONG = 36;
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyRangeFacetCloudTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyRangeFacetCloudTest.java
index 1346a21..d30f6de 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyRangeFacetCloudTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyRangeFacetCloudTest.java
@@ -25,7 +25,7 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class LegacyRangeFacetCloudTest extends LegacyAbstractAnalyticsFacetCloudTest{
   public static final int INT = 71;
   public static final int LONG = 36;
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
index 0bc700e..0378b8d 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/ClusteringComponentTest.java
@@ -44,7 +44,7 @@ import org.junit.Test;
  *
  *
  **/
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class ClusteringComponentTest extends AbstractClusteringTestCase {
 
   @Before
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
index f8aee37..145c5ef 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/DistributedClusteringComponentTest.java
@@ -24,7 +24,7 @@ import org.junit.Ignore;
 import org.junit.Test;
 
 @SolrTestCase.SuppressSSL
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class DistributedClusteringComponentTest extends
     BaseDistributedSearchTestCase {
 
diff --git a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
index a28f462..c95ccf7 100644
--- a/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
+++ b/solr/contrib/clustering/src/test/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngineTest.java
@@ -49,7 +49,7 @@ import org.junit.Test;
 /**
  *
  */
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class CarrotClusteringEngineTest extends AbstractClusteringTestCase {
   @Test
   public void testCarrotLingo() throws Exception {
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
index 4d686f9..18d1414 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
@@ -44,7 +44,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestZKPropertiesWriter extends AbstractDataImportHandlerTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   protected static ZkTestServer zkServer;
@@ -66,7 +66,7 @@ public class TestZKPropertiesWriter extends AbstractDataImportHandlerTestCase {
     System.setProperty("jetty.port", "0000");
 
     zkServer.buildZooKeeper();
-    // nocommit - you can't set config this way anymore, the _default config is used
+    // MRM TODO: - you can't set config this way anymore, the _default config is used
 //    zkServer.buildZooKeeper(getFile("dih/solr"),
 //        "dataimport-solrconfig.xml", "dataimport-schema.xml");
 
diff --git a/solr/contrib/jaegertracer-configurator/src/test/org/apache/solr/jaeger/TestJaegerConfigurator.java b/solr/contrib/jaegertracer-configurator/src/test/org/apache/solr/jaeger/TestJaegerConfigurator.java
index dd159fe..ae16d9ad 100644
--- a/solr/contrib/jaegertracer-configurator/src/test/org/apache/solr/jaeger/TestJaegerConfigurator.java
+++ b/solr/contrib/jaegertracer-configurator/src/test/org/apache/solr/jaeger/TestJaegerConfigurator.java
@@ -44,7 +44,7 @@ import static org.apache.solr.jaeger.JaegerTracerConfigurator.FLUSH_INTERVAL;
 import static org.apache.solr.jaeger.JaegerTracerConfigurator.LOG_SPANS;
 import static org.apache.solr.jaeger.JaegerTracerConfigurator.MAX_QUEUE_SIZE;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestJaegerConfigurator extends SolrTestCaseJ4 {
 
   @Test
diff --git a/solr/contrib/ltr/src/test/org/apache/solr/ltr/store/rest/TestManagedFeatureStore.java b/solr/contrib/ltr/src/test/org/apache/solr/ltr/store/rest/TestManagedFeatureStore.java
index 85b61e3..871b432 100644
--- a/solr/contrib/ltr/src/test/org/apache/solr/ltr/store/rest/TestManagedFeatureStore.java
+++ b/solr/contrib/ltr/src/test/org/apache/solr/ltr/store/rest/TestManagedFeatureStore.java
@@ -31,7 +31,7 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit flakey
+@Ignore // MRM TODO: flakey
 public class TestManagedFeatureStore extends SolrTestCaseJ4 {
 
   private ManagedFeatureStore fstore = null;
diff --git a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
index bc1529d..a830f4f 100644
--- a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
+++ b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
@@ -48,7 +48,7 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit - flakey
+@Ignore // MRM TODO: - flakey
 public class SolrCloudScraperTest extends PrometheusExporterTestBase {
 
   private MetricsConfiguration configuration;
diff --git a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
index a35530a..2f91de4 100644
--- a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
+++ b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
@@ -100,7 +100,7 @@ public class SolrStandaloneScraperTest extends RestTestBase {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void pingCores() throws Exception {
     Map<String, MetricSamples> allCoreMetrics = solrScraper.pingAllCores(
         configuration.getPingConfiguration().get(0));
@@ -126,7 +126,7 @@ public class SolrStandaloneScraperTest extends RestTestBase {
   }
 
   @Test
-  @Ignore // nocommit debug - probably just that metrics are not instant
+  @Ignore // MRM TODO: debug - probably just that metrics are not instant
   public void metricsForHost() throws Exception {
     Map<String, MetricSamples> metricsByHost = solrScraper.metricsForAllHosts(configuration.getMetricsConfiguration().get(0));
 
diff --git a/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java b/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
index 066bb65..35fae4c 100644
--- a/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
+++ b/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
@@ -37,7 +37,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class VelocityResponseWriterTest extends SolrTestCaseJ4 {
   @BeforeClass
   public static void beforeVelocityResponseWriterTest() throws Exception {
diff --git a/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java b/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
index beb3568..715f57a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
+++ b/solr/core/src/java/org/apache/solr/cloud/DistributedMap.java
@@ -113,8 +113,7 @@ public class DistributedMap {
     for(String childName: childNames) {
       zookeeper.delete(dir + "/" + childName, -1, true);
     }
-//nocommit
-    //zookeeper.delete(paths, true);
+
   }
   
   /**
diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index e80664b..e88cacf 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -604,7 +604,7 @@ public class Overseer implements SolrCloseable {
   ZkDistributedQueue getStateUpdateQueue(Stats zkStats) {
     return new ZkDistributedQueue(zkController.getZkClient(), "/overseer/queue", zkStats, STATE_UPDATE_MAX_QUEUE, new ConnectionManager.IsClosed(){
       public boolean isClosed() {
-        return Overseer.this.isClosed() || zkController.getCoreContainer().isShutDown(); // nocommit use
+        return Overseer.this.isClosed() || zkController.getCoreContainer().isShutDown();
       }
     });
   }
@@ -728,7 +728,7 @@ public class Overseer implements SolrCloseable {
 
   public boolean processQueueItem(ZkNodeProps message) throws InterruptedException {
     if (log.isDebugEnabled()) log.debug("processQueueItem {}", message);
-    // nocommit - may not need this now
+    // MRM TODO: - may not need this now
     new OverseerTaskExecutorTask(getCoreContainer(), message).run();
 //    try {
 //      future.get();
@@ -803,14 +803,6 @@ public class Overseer implements SolrCloseable {
 
       ourLock.lock();
       try {
-//        Integer ms = Integer.getInteger("solr.stateworkqueue.throttle", 150);
-//        log.info("Overseer work queue has changed, processing in {}} ms...", ms);
-//        try {
-//          // nocommit
-//          Thread.sleep(ms);
-//        } catch (InterruptedException e) {
-//
-//        }
         try {
           List<String> items = setWatch();
           if (items.size() > 0) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskExecutorTask.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskExecutorTask.java
index 5766edc..a2941fc 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskExecutorTask.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskExecutorTask.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.cloud;
 
 import org.apache.solr.client.solrj.cloud.SolrCloudManager;
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index f804e70e..c0c4c4e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -98,7 +98,6 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
   final private Predicate<String> excludedTasks = new Predicate<>() {
     @Override
     public boolean test(String s) {
-      // nocommit
       if (s.startsWith(OverseerTaskQueue.RESPONSE_PREFIX)) {
         if (log.isDebugEnabled()) log.debug("exclude {} due to prefix {}", s, OverseerTaskQueue.RESPONSE_PREFIX);
         return true;
@@ -186,28 +185,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
       log.debug("close() - start");
     }
     isClosed = true;
-
-
     IOUtils.closeQuietly(selector);
-
-
-//    if (closeAndDone) {
-//      // nocommit
-//      //      for (Future future : taskFutures.values()) {
-//      //        future.cancel(false);
-//      //      }
-//      for (Future future : taskFutures.values()) {
-//        try {
-//          future.get(1, TimeUnit.SECONDS);
-//        } catch (InterruptedException e) {
-//          ParWork.propagateInterrupt(e);
-//          throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
-//        } catch (Exception e) {
-//          log.info("Exception closing Overseer {} {}", e.getClass().getName(), e.getMessage());
-//        }
-//      }
-//    }
-
   }
 
   public static List<String> getSortedOverseerNodeNames(SolrZkClient zk) throws KeeperException, InterruptedException {
diff --git a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
index 8fc8bf1..1a66fd8 100644
--- a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
@@ -852,7 +852,7 @@ public class RecoveryStrategy implements Runnable, Closeable {
       // wait for replay
       RecoveryInfo report;
       try {
-        report = future.get(10, TimeUnit.MINUTES); // nocommit - how long? make configurable too
+        report = future.get(10, TimeUnit.MINUTES); // MRM TODO: - how long? make configurable too
       } catch (InterruptedException e) {
         throw new SolrException(ErrorCode.SERVER_ERROR, "Replay failed");
       } catch (TimeoutException e) {
@@ -916,7 +916,7 @@ public class RecoveryStrategy implements Runnable, Closeable {
 
     int conflictWaitMs = zkController.getLeaderConflictResolveWait();
     int readTimeout = conflictWaitMs + Integer.parseInt(System.getProperty("prepRecoveryReadTimeoutExtraWait", "10000"));
-    // nocommit
+
     try (Http2SolrClient client = new Http2SolrClient.Builder(leaderBaseUrl).withHttpClient(cc.getUpdateShardHandler().
         getRecoveryOnlyClient()).idleTimeout(readTimeout).markInternalRequest().build()) {
 
diff --git a/solr/core/src/java/org/apache/solr/cloud/StatePublisher.java b/solr/core/src/java/org/apache/solr/cloud/StatePublisher.java
index 476cd84..b9b84b7 100644
--- a/solr/core/src/java/org/apache/solr/cloud/StatePublisher.java
+++ b/solr/core/src/java/org/apache/solr/cloud/StatePublisher.java
@@ -206,10 +206,8 @@ public class StatePublisher implements Closeable {
           if (coll != null) {
             Replica replica = coll.getReplica(core);
             String lastState = stateCache.get(core);
-            // nocommit
             if (collection != null && replica != null && !state.equals(Replica.State.ACTIVE) && state.equals(lastState) && replica.getState().toString().equals(state)) {
               log.info("Skipping publish state as {} for {}, because it was the last state published", state, core);
-              // nocommit
               return;
             }
           }
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index 74ff1d0..cf32f7f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -941,7 +941,7 @@ public class ZkController implements Closeable, Runnable {
   }
 
   private void init() {
-    // nocommit
+    // MRM TODO:
     //    Runtime.getRuntime().addShutdownHook(new Thread() {
     //      public void run() {
     //        shutdown();
@@ -1062,7 +1062,7 @@ public class ZkController implements Closeable, Runnable {
             //              throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
             //            }
             //
-            //            // nocommit, still haackey, do fails right
+            //            // MRM TODO:, still haackey, do fails right
             //            if (code[0] != 0) {
             //              System.out.println("fail code: "+ code[0]);
             //              KeeperException e = KeeperException.create(KeeperException.Code.get(code[0]), path[0]);
@@ -1236,7 +1236,6 @@ public class ZkController implements Closeable, Runnable {
         zkClient.create(nodePath, (byte[]) null, CreateMode.EPHEMERAL, true);
       } catch (KeeperException.NodeExistsException e) {
         log.warn("Found our ephemeral live node already exists. This must be a quick restart after a hard shutdown? ... {}", nodePath);
-        // TODO nocommit
         throw new SolrException(ErrorCode.SERVER_ERROR, e);
       }
     } catch (Exception e) {
@@ -1271,7 +1270,7 @@ public class ZkController implements Closeable, Runnable {
   }
 
   public void registerUnloadWatcher(String collection, String shardId, String name) {
-    // nocommit - this thing is currently bad
+    // MRM TODO: - this thing is currently bad
 //    zkStateReader.registerDocCollectionWatcher(collection,
 //        new UnloadCoreOnDeletedWatcher(shardId, name));
   }
@@ -1313,7 +1312,7 @@ public class ZkController implements Closeable, Runnable {
 
       try {
         log.info("Waiting to see our entry in state.json {}", desc.getName());
-        zkStateReader.waitForState(collection, Integer.getInteger("solr.zkregister.leaderwait", 5000), TimeUnit.MILLISECONDS, (l, c) -> { // nocommit timeout
+        zkStateReader.waitForState(collection, Integer.getInteger("solr.zkregister.leaderwait", 5000), TimeUnit.MILLISECONDS, (l, c) -> { // MRM TODO: timeout
           if (c == null) {
             return false;
           }
@@ -1359,7 +1358,7 @@ public class ZkController implements Closeable, Runnable {
       boolean joinAtHead = replica.getBool(SliceMutator.PREFERRED_LEADER_PROP, false);
       if (replica.getType() != Type.PULL) {
         //getCollectionTerms(collection).register(cloudDesc.getShardId(), coreName);
-        // nocommit review
+        // MRM TODO: review joinAtHead
         joinElection(desc, joinAtHead);
       }
 
@@ -1454,7 +1453,7 @@ public class ZkController implements Closeable, Runnable {
       }
 
       // the watcher is added to a set so multiple calls of this method will left only one watcher
-      // nocommit
+      // MRM TODO:
       registerUnloadWatcher(cloudDesc.getCollectionName(), cloudDesc.getShardId(), desc.getName());
 
       log.info("SolrCore Registered, core{} baseUrl={} collection={}, shard={}", coreName, baseUrl, collection, shardId);
@@ -1536,7 +1535,7 @@ public class ZkController implements Closeable, Runnable {
 
       byte[] data = zkClient.getData(ZkStateReader.getShardLeadersPath(collection, slice), null, null);
       ZkCoreNodeProps leaderProps = new ZkCoreNodeProps(ZkNodeProps.load(data));
-      // nocommit - right key for leader name?
+      // MRM TODO: - right key for leader name?
       return new Replica(leaderProps.getNodeProps().getStr("name"), leaderProps.getNodeProps().getProperties(), collection, slice, zkStateReader);
 
     } catch (Exception e) {
@@ -1622,7 +1621,7 @@ public class ZkController implements Closeable, Runnable {
     Map<String,Object> props = new HashMap<>();
     try (SolrCore core = cc.getCore(cd.getName())) {
 
-      // nocommit TODO if we publish anything but ACTIVE, cancel any possible election?
+      // MRM TODO: if we publish anything but ACTIVE, cancel any possible election?
 
       // System.out.println(Thread.currentThread().getStackTrace()[3]);
       Integer numShards = cd.getCloudDescriptor().getNumShards();
@@ -1640,7 +1639,7 @@ public class ZkController implements Closeable, Runnable {
       props.put(ZkStateReader.REPLICA_TYPE, cd.getCloudDescriptor().getReplicaType().toString());
       try {
         if (core.getDirectoryFactory().isSharedStorage()) {
-          // nocommit
+          // MRM TODO: currently doesn't publish anywhere
           if (core.getDirectoryFactory().isSharedStorage()) {
             props.put(ZkStateReader.SHARED_STORAGE_PROP, "true");
             props.put("dataDir", core.getDataDir());
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java b/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
index ae107c3..fed62d2 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
@@ -388,7 +388,6 @@ public class ZkShardTerms implements Closeable {
         Stat stat = new Stat();
         byte[] data = zkClient.getData(znodePath, setWatch ? watcher : null, stat, true);
         Map<String,Long> values = Collections.unmodifiableMap(new HashMap<>((Map<String,Long>) Utils.fromJSON(data)));
-        // nocommit
         log.info("refresh shard terms to zk version {}", stat.getVersion());
         newTerms = new ShardTerms(values, stat.getVersion());
       } catch (KeeperException.NoNodeException e) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java
index c5708fd..6127c3e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java
@@ -126,7 +126,7 @@ public class AddReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
       collectionName = extCollectionName;
     }
 
-    // nocommit
+    // MRM TODO:
     boolean waitForFinalState = message.getBool(WAIT_FOR_FINAL_STATE, false);
     boolean skipCreateReplicaInClusterState = message.getBool(SKIP_CREATE_REPLICA_IN_CLUSTER_STATE, false);
 
@@ -138,7 +138,7 @@ public class AddReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
       throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Both 'node' and 'createNodeSet' parameters cannot be specified together.");
     }
 
-    // nocommit
+    // MRM TODO:
     int timeout = message.getInt(TIMEOUT, 15); // 10 minutes
 
     Replica.Type replicaType = Replica.Type.valueOf(message.getStr(ZkStateReader.REPLICA_TYPE, Replica.Type.NRT.name()).toUpperCase(Locale.ROOT));
@@ -236,7 +236,7 @@ public class AddReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
     }
     try {
       log.info("waiting for created replicas shard={} {}", shard, coreNames);
-      zkStateReader.waitForState(collectionName, 30, TimeUnit.SECONDS, (liveNodes, collectionState) -> { // nocommit timeout
+      zkStateReader.waitForState(collectionName, 30, TimeUnit.SECONDS, (liveNodes, collectionState) -> { // MRM TODO: timeout
         if (collectionState == null) {
           return false;
         }
@@ -271,7 +271,7 @@ public class AddReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
       boolean skipCreateReplicaInClusterState,
       ShardHandler shardHandler, CreateReplica createReplica) throws IOException, InterruptedException, KeeperException {
 
-    // nocommit
+    // MRM TODO:
 //    if (collection.getStr(WITH_COLLECTION) != null) {
 //      String withCollectionName = collection.getStr(WITH_COLLECTION);
 //      DocCollection withCollection = clusterState.getCollection(withCollectionName);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/AliasCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/AliasCmd.java
index 86a3ba1..3100db1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/AliasCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/AliasCmd.java
@@ -95,7 +95,7 @@ abstract class AliasCmd implements OverseerCollectionMessageHandler.Cmd {
     CollectionProperties collectionProperties = new CollectionProperties(ocmh.zkStateReader);
     collectionProperties.setCollectionProperty(createCollName,ROUTED_ALIAS_NAME_CORE_PROP,aliasName);
 
-    // nocommit make efficient
+    // MRM TODO: make efficient
     while (!ocmh.zkStateReader.getCollectionProperties(createCollName,1000).containsKey(ROUTED_ALIAS_NAME_CORE_PROP)) {
       Thread.sleep(50);
     }
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
index 6efadb8..d025ccf 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
@@ -48,7 +48,7 @@ import org.apache.solr.common.util.StrUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-// nocommit - this needs work, but lets not hit zk and other nodes if we dont need for base Assign
+// MRM TODO: - this needs work, but lets not hit zk and other nodes if we dont need for base Assign
 public class Assign {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
index 887e95f..0f3def6 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
@@ -142,7 +142,7 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
   public AddReplicaCmd.Response call(ClusterState clusterState, ZkNodeProps message, @SuppressWarnings({"rawtypes"})NamedList results) throws Exception {
     log.info("CreateCollectionCmd {}", message);
     if (ocmh.zkStateReader.aliasesManager != null) { // not a mock ZkStateReader
-      ocmh.zkStateReader.aliasesManager.update(); // nocommit - hate this
+      ocmh.zkStateReader.aliasesManager.update(); // MRM TODO: - check into this
     }
     final String async = message.getStr(ASYNC);
     Map<String,ShardRequest> coresToCreate = new LinkedHashMap<>();
@@ -314,7 +314,6 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
         ShardRequest sreq = e.getValue();
         if (log.isDebugEnabled()) log.debug("Submit request to shard for for replica coreName={} total requests={} shards={}", e.getKey(), coresToCreate.size(),
             sreq.actualShards != null ? Arrays.asList(sreq.actualShards) : "null");
-        // nocommit - work out parallel / async 100%
         shardHandler.submit(sreq, sreq.shards[0], sreq.params);
       }
 
@@ -356,7 +355,7 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
           ParWork.propagateInterrupt(e);
           throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
         }
-        //  nocommit - put this in finalizer and finalizer after all calls to allow parallel and forward momentum
+        //  MRM TODO: - put this in finalizer and finalizer after all calls to allow parallel and forward momentum ... MRM later on, huh?
 
         AddReplicaCmd.Response response = new AddReplicaCmd.Response();
 
@@ -366,7 +365,7 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
           //        // Let's cleanup as we hit an exception
           //        // We shouldn't be passing 'results' here for the cleanup as the response would then contain 'success'
           //        // element, which may be interpreted by the user as a positive ack
-          //        // nocommit review
+          //        // MRM TODO: review
           try {
             AddReplicaCmd.Response rsp = ocmh.cleanupCollection(collectionName, new NamedList<Object>());
 
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateShardCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateShardCmd.java
index e274390..ef6a967 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateShardCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateShardCmd.java
@@ -118,7 +118,7 @@ public class CreateShardCmd implements OverseerCollectionMessageHandler.Cmd {
       clusterState = resp.clusterState;
     } catch (Assign.AssignmentException e) {
       // clean up the slice that we created
-      // nocommit
+      // MRM TODO:
 //      ZkNodeProps deleteShard = new ZkNodeProps(COLLECTION_PROP, collectionName, SHARD_ID_PROP, sliceName, ASYNC, async);
 //      new DeleteShardCmd(ocmh).call(clusterState, deleteShard, results);
       throw e;
@@ -176,7 +176,7 @@ public class CreateShardCmd implements OverseerCollectionMessageHandler.Cmd {
         ParWork.propagateInterrupt(e);
         throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
       }
-      //  nocommit - put this in finalizer and finalizer after all calls to allow parallel and forward momentum
+      //  MRM TODO: - put this in finalizer and finalizer after all calls to allow parallel and forward momentum
 
       if (resp.asyncFinalRunner != null) {
         try {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteNodeCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteNodeCmd.java
index 42056dc..a0880d3 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteNodeCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteNodeCmd.java
@@ -132,7 +132,7 @@ public class DeleteNodeCmd implements OverseerCollectionMessageHandler.Cmd {
       log.info("Deleting replica type={} for collection={} shard={} on node={}", type, coll, shard, node);
       @SuppressWarnings({"rawtypes"}) NamedList deleteResult = new NamedList();
       try {
-        // nocommit - return results from deleteReplica cmd
+        // MRM TODO: - return results from deleteReplica cmd
         AddReplicaCmd.Response resp = ((DeleteReplicaCmd) ocmh.commandMap.get(DELETEREPLICA)).deleteReplica(clusterState, sourceReplica, shardHandler, shardRequestTracker, deleteResult);
         clusterState = resp.clusterState;
         responses.add(resp);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
index 4bd043c..dfae2b2 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
@@ -181,7 +181,7 @@ public class DeleteReplicaCmd implements Cmd {
           }
 
           try {
-            waitForCoreNodeGone(collectionName, shard, replicaName, 5000); // nocommit timeout
+            waitForCoreNodeGone(collectionName, shard, replicaName, 5000); // MRM TODO: timeout
           } catch (Exception e) {
             log.error("", e);
           }
@@ -239,7 +239,7 @@ public class DeleteReplicaCmd implements Cmd {
       // callDeleteReplica on all replicas
       for (String replica : replicas) {
         if (log.isDebugEnabled()) log.debug("Deleting replica {}  for shard {} based on count {}", replica, shardId, count);
-        // nocommit - DONT DO THIS ONE AT TIME
+        // MRM TODO: - DONT DO THIS ONE AT TIME
 
         AddReplicaCmd.Response resp = deleteCore(clusterState, shardSlice, collectionName, replica, message, shard, results, shardRequestTracker, shardHandler);
         clusterState = resp.clusterState;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java
index 0830ab9..5db4168 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java
@@ -119,7 +119,7 @@ public class DeleteShardCmd implements OverseerCollectionMessageHandler.Cmd {
         @SuppressWarnings({"rawtypes"}) NamedList deleteResult = new NamedList();
         try {
 
-          // nocommit - return results from deleteReplica cmd
+          // MRM TODO: - return results from deleteReplica cmd
           AddReplicaCmd.Response resp = ((DeleteReplicaCmd) ocmh.commandMap.get(DELETEREPLICA)).deleteReplica(clusterState, replica, shardHandler, shardRequestTracker, deleteResult);
           if (resp.asyncFinalRunner != null) {
             finalizers.add(resp.asyncFinalRunner);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/ModifyCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/ModifyCollectionCmd.java
index 3527da7..629abb9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/ModifyCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/ModifyCollectionCmd.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.cloud.api.collections;
 
 import org.apache.solr.cloud.overseer.CollectionMutator;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java
index 65243d6..1dbeca8 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java
@@ -156,7 +156,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
     AddReplicaCmd.Response resp = null;
     if (isSharedFS && inPlaceMove) {
       log.debug("-- moveHdfsReplica");
-      // nocommit TODO
+      // MRM TODO: TODO
       moveHdfsReplica(clusterState, results, dataDir.toString(), targetNode, async, coll, replica, slice, timeout, waitForFinalState);
     } else {
       log.debug("-- moveNormalReplica (inPlaceMove={}, isSharedFS={}", inPlaceMove, isSharedFS);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
index 9ab5f09..c4ce6ea 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
@@ -336,7 +336,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
           overseer.writePendingUpdates();
         }
 
-        // nocommit consider
+        // MRM TODO: consider
         if (responce != null && responce.asyncFinalRunner != null) {
           AddReplicaCmd.Response resp = responce.asyncFinalRunner.call();
           if (log.isDebugEnabled()) log.debug("Finalize after Command returned clusterstate={}", resp.clusterState);
@@ -427,7 +427,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
 
     AddReplicaCmd.Response response = new AddReplicaCmd.Response();
     response.results = results;
-    // nocommit - we don't change this for this cmd, we should be able to indicate that to caller
+    // MRM TODO: - we don't change this for this cmd, we should be able to indicate that to caller
     response.clusterState = null;
     return response;
   }
@@ -906,7 +906,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
         if (log.isDebugEnabled()) log.debug("created watch for response {}", requestId);
         boolean success = false;
         for (int i = 0; i < 15; i++) {
-          success = latch.await(3, TimeUnit.SECONDS); // nocommit - still need a central timeout strat
+          success = latch.await(3, TimeUnit.SECONDS); // MRM TODO: - still need a central timeout strat
           if (success) {
             if (log.isDebugEnabled()) log.debug("latch was triggered {}", requestId);
             break;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerRoleCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerRoleCmd.java
index 8527e7d..8d0649e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerRoleCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerRoleCmd.java
@@ -85,7 +85,7 @@ public class OverseerRoleCmd implements OverseerCollectionMessageHandler.Cmd {
     }
     //if there are too many nodes this command may time out. And most likely dedicated
     // overseers are created when there are too many nodes  . So , do this operation in a separate thread
-    // nocommit - we should remove this, but if not it needs fixing
+    // MRM TODO: - we should remove this, but if not it needs fixing
 //    new Thread(() -> {
 //      try {
 //        overseerPrioritizer.prioritizeOverseerNodes(ocmh.myId);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java
index f9d6b5b..5791a3c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java
@@ -181,7 +181,7 @@ public class ReplaceNodeCmd implements OverseerCollectionMessageHandler.Cmd {
         for (ZkNodeProps createdReplica : createdReplicas) {
           @SuppressWarnings({"rawtypes"}) NamedList deleteResult = new NamedList();
           try {
-            // nocommit - return results from deleteReplica cmd, update clusterstate
+            // MRM TODO: - return results from deleteReplica cmd, update clusterstate
             AddReplicaCmd.Response dr = ocmh.deleteReplica(finalClusterState, createdReplica.plus("parallel", "true"), deleteResult);
 
           } catch (KeeperException e) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
index 8eefe8e..a76cc56 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
@@ -134,7 +134,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
     String splitKey = message.getStr("split.key");
 
     Slice parentSlice = getParentSlice(clusterState, collectionName, slice, splitKey);
-    // nocommit
+    // MRM TODO:
 //    if (parentSlice.getState() != Slice.State.ACTIVE) {
 //      throw new SolrException(SolrException.ErrorCode.INVALID_STATE, "Parent slice is not active: " +
 //          collectionName + "/ " + parentSlice.getName() + ", state=" + parentSlice.getState());
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
index f2dd8b6..dcaddc0 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ClusterStateMutator.java
@@ -104,7 +104,7 @@ public class ClusterStateMutator {
     }
     collectionProps.put(DocCollection.DOC_ROUTER, routerSpec);
 
-    // nocommit - lost this
+    // MRM TODO: - lost this
     if (message.getStr("fromApi") == null) {
       collectionProps.put("autoCreated", "true");
     }
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
index 1014f51..21d6dba 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
@@ -247,7 +247,7 @@ public class ReplicaMutator {
       return clusterState;
     }
 
-   // nocommit
+   // MRM TODO:
 //    if (coreNodeName == null) {
 //      coreNodeName = ClusterStateMutator.getAssignedCoreNodeName(collection,
 //          message.getStr(ZkStateReader.NODE_NAME_PROP), message.getStr(ZkStateReader.CORE_NAME_PROP));
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index 5dc825d..b68ce33 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -190,10 +190,14 @@ public class ZkStateWriter {
 
             for (Map.Entry<String,Object> entry : message.getProperties().entrySet()) {
               if (OverseerAction.DOWNNODE.equals(OverseerAction.get(entry.getKey()))) {
-                if (log.isDebugEnabled()) log.debug("state cmd entry {} asOverseerCmd={}", entry, OverseerAction.get(entry.getKey()));
+                if (log.isDebugEnabled()) {
+                  log.debug("state cmd entry {} asOverseerCmd={}", entry, OverseerAction.get(entry.getKey()));
+                }
                 nodeOperation(entry, Replica.State.getShortState(Replica.State.DOWN));
               } else if (OverseerAction.RECOVERYNODE.equals(OverseerAction.get(entry.getKey()))) {
-                if (log.isDebugEnabled()) log.debug("state cmd entry {} asOverseerCmd={}", entry, OverseerAction.get(entry.getKey()));
+                if (log.isDebugEnabled()) {
+                  log.debug("state cmd entry {} asOverseerCmd={}", entry, OverseerAction.get(entry.getKey()));
+                }
                 nodeOperation(entry, Replica.State.getShortState(Replica.State.RECOVERING));
               }
             }
@@ -207,7 +211,9 @@ public class ZkStateWriter {
                 log.info("state cmd entry {} asOverseerCmd={}", entry, OverseerAction.get(entry.getKey()));
                 String core = entry.getKey();
                 String collectionAndStateString = (String) entry.getValue();
-                if (log.isDebugEnabled()) log.debug("collectionAndState={}", collectionAndStateString);
+                if (log.isDebugEnabled()) {
+                  log.debug("collectionAndState={}", collectionAndStateString);
+                }
                 String[] collectionAndState = collectionAndStateString.split(",");
 
                 if (collectionAndState.length != 2) {
@@ -251,7 +257,9 @@ public class ZkStateWriter {
                   Replica replica = docColl.getReplica(core);
                   if (replica != null) {
                     if (setState.equals("leader")) {
-                      if (log.isDebugEnabled()) log.debug("set leader {}", replica);
+                      if (log.isDebugEnabled()) {
+                        log.debug("set leader {}", replica);
+                      }
                       Slice slice = docColl.getSlice(replica.getSlice());
                       slice.setLeader(replica);
                       replica.setState(Replica.State.ACTIVE);
@@ -357,7 +365,7 @@ public class ZkStateWriter {
       for (Replica replica : replicas) {
         if (!Replica.State.getShortState(replica.getState()).equals(operation) && replica.getNodeName().equals(entry.getValue())) {
           if (log.isDebugEnabled()) log.debug("set {} for replica {}", operation, replica);
-          // nocommit
+          // MRM TODO:
           Slice slice = docColl.getSlice(replica.getSlice());
           slice.setLeader(null);
           replica.setState(Replica.State.shortStateToState(operation));
@@ -413,7 +421,7 @@ public class ZkStateWriter {
 
       if (failedUpdates.size() > 0) {
         Exception lfe = lastFailedException.get();
-        log.warn("Some collection updates failed {} logging last exception", failedUpdates, lfe); // nocommit expand
+        log.warn("Some collection updates failed {} logging last exception", failedUpdates, lfe); // MRM TODO: expand
         failedUpdates.clear();
         lfe = null;
         throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, lfe);
@@ -539,7 +547,7 @@ public class ZkStateWriter {
     //    } finally {
     //      writeLock.unlock();
     //    }
-    // nocommit - harden against failures and exceptions
+    // MRM TODO: - harden against failures and exceptions
 
     //    if (log.isDebugEnabled()) {
     //      log.debug("writePendingUpdates() - end - New Cluster State is: {}", newClusterState);
diff --git a/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
index 91298d9..cea225b 100644
--- a/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/CachingDirectoryFactory.java
@@ -409,7 +409,7 @@ public abstract class CachingDirectoryFactory extends DirectoryFactory {
         if (log.isDebugEnabled()) log.debug("Reusing cached directory: {}", cacheValue, DEBUG_GET_RELEASE && cacheValue.path.equals("data/index") ? new RuntimeException() : null );
       }
       //  if (cacheValue.path.equals("data/index")) {
-      //    log.info("getDir " + path, new RuntimeException("track get " + fullPath)); // nocommit
+      //    log.info("getDir " + path, new RuntimeException("track get " + fullPath)); // MRM TODO:
       // }
 
       if (log.isTraceEnabled()) log.trace("get(String, DirContext, String) - end");
@@ -492,10 +492,10 @@ public abstract class CachingDirectoryFactory extends DirectoryFactory {
 //      if (cacheValue.path.equals("data/index")) {
 //        log.info(
 //            "Releasing directory: " + cacheValue.path + " " + (cacheValue.refCnt - 1) + " " + cacheValue.doneWithDir,
-//            new RuntimeException("Fake to find stack trace")); // nocommit
+//            new RuntimeException("Fake to find stack trace")); // MRM TODO:
 //      } else {
       if (log.isDebugEnabled()) log.debug(
-              "Releasing directory: " + cacheValue.path + " " + (cacheValue.refCnt - 1) + " " + cacheValue.doneWithDir,  DEBUG_GET_RELEASE && cacheValue.path.equals("data/index") ? new RuntimeException() : null ); // nocommit
+              "Releasing directory: " + cacheValue.path + " " + (cacheValue.refCnt - 1) + " " + cacheValue.doneWithDir,  DEBUG_GET_RELEASE && cacheValue.path.equals("data/index") ? new RuntimeException() : null ); // MRM TODO:
 
       //    }
       cacheValue.refCnt--;
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 21289df..7a2e14c 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -2134,12 +2134,12 @@ public class CoreContainer implements Closeable {
 
     // todo: ensure only transient?
 //    if (core == null && desc != null) {
-//      // nocommit - this does not seem right - should stop a core from loading on startup, before zk reg, not from getCore ...
+//      // MRM TODO: - this does not seem right - should stop a core from loading on startup, before zk reg, not from getCore ...
 //      //      if (isZooKeeperAware()) {
 //      //        zkSys.getZkController().throwErrorIfReplicaReplaced(desc);
 //      //      }
 //
-//      // nocommit: this can recreate a core when it's not transient - no good!
+//      // MRM TODO:: this can recreate a core when it's not transient - no good!
 //      if (desc.isTransient() || !desc.isLoadOnStartup()) {
 //        core = createFromDescriptor(desc, false); // This should throw an error if it fails.
 //      }
diff --git a/solr/core/src/java/org/apache/solr/core/SolrConfig.java b/solr/core/src/java/org/apache/solr/core/SolrConfig.java
index 48c67be..b22a5e5 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrConfig.java
@@ -847,7 +847,7 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
     return getInt(path, 0);
   }
 
-  // nocommit
+  // MRM TODO: don't like these syncs I guess?...
   public int getInt(String path, int def) {
     Object val;
     synchronized (this) {
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index ce6ecdb..7169245 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -1241,7 +1241,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
 
       // seed version buckets with max from index during core initialization ... requires a searcher!
       StopWatch timeWaitForSearcher = StopWatch.getStopWatch(this + "-startCore-waitForSearcher");
-      // nocommit - wait before publish active
+      // MRM TODO: - wait before publish active?
       if (isReloaded && !getSolrConfig().useColdSearcher) {
         try {
           initSearcherFuture[0].get();
@@ -2888,7 +2888,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
 //        if (!returnSearcher) {
 //          if (waitSearcher != null) {
 //            try {
-//              waitSearcher[0].get(); // nocommit if we don't wait we dont know if it fails
+//              waitSearcher[0].get(); // MRM TODO: if we don't wait we dont know if it fails
 //            } catch (Exception e) {
 //              ParWork.propegateInterrupt(e);
 //              throw new SolrException(ErrorCode.SERVER_ERROR, e);
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCoreGauge.java b/solr/core/src/java/org/apache/solr/core/SolrCoreGauge.java
index 160ff4b..d583778 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCoreGauge.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCoreGauge.java
@@ -1,6 +1,21 @@
+/*
+ * 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.solr.core;
 
-
 import com.codahale.metrics.CachedGauge;
 import com.codahale.metrics.Gauge;
 
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCores.java b/solr/core/src/java/org/apache/solr/core/SolrCores.java
index abc927f..73d4cb1 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCores.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCores.java
@@ -110,7 +110,7 @@ class SolrCores implements Closeable {
     // list to the pendingCloses list.
 
     // make a copy of the cores then clear the map so the core isn't handed out to a request again
-    // nocommit
+    // MRM TODO: transient needs work
     if (transientSolrCoreCache != null) {
       coreList.addAll(transientSolrCoreCache.prepareForShutdown());
     }
diff --git a/solr/core/src/java/org/apache/solr/core/XmlConfigFile.java b/solr/core/src/java/org/apache/solr/core/XmlConfigFile.java
index c4edf16..43b0aea 100644
--- a/solr/core/src/java/org/apache/solr/core/XmlConfigFile.java
+++ b/solr/core/src/java/org/apache/solr/core/XmlConfigFile.java
@@ -60,7 +60,7 @@ import java.util.TreeSet;
 /**
  * Wrapper around an XML DOM object to provide convenient accessors to it.  Intended for XML config files.
  */
-// MRM nocommit - figure out where to put and what to do with the config files that were in _default/lang
+// MRM MRM TODO: - figure out where to put and what to do with the config files that were in _default/lang
 public class XmlConfigFile { // formerly simply "Config"
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -254,7 +254,6 @@ public class XmlConfigFile { // formerly simply "Config"
       return prefix;
     }
 
-    // nocommit
     public NodeInfo getNode(String expression, boolean errifMissing){
       String path = normalize(expression);
       try {
@@ -412,7 +411,7 @@ public class XmlConfigFile { // formerly simply "Config"
       }
     }
 
-    // nocommit expression not precompiled
+    // MRM TODO: expression not precompiled
     public String getVal (String expression, boolean errIfMissing){
       String xstr = normalize(expression);
       try {
diff --git a/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java b/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java
index 29cc96c..45caa7f 100644
--- a/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java
+++ b/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java
@@ -400,7 +400,7 @@ public class DistribPackageStore implements PackageStore {
 //      coreContainer.getUpdateShardHandler().getUpdateExecutor().submit(() -> {
 //        try {
 //      //    Thread.sleep(10 * 1000);
-//          // nocommit yikes!
+//          // MRM TODO: yikes!
 //        } finally {
 //          tmpFiles.remove(info.path);
 //        }
diff --git a/solr/core/src/java/org/apache/solr/filestore/NRTCachingDirectory.java b/solr/core/src/java/org/apache/solr/filestore/NRTCachingDirectory.java
index 37fbd4f..78a2d96 100644
--- a/solr/core/src/java/org/apache/solr/filestore/NRTCachingDirectory.java
+++ b/solr/core/src/java/org/apache/solr/filestore/NRTCachingDirectory.java
@@ -181,7 +181,7 @@ public class NRTCachingDirectory extends FilterDirectory implements Accountable
     for(String fileName : fileNames) {
       unCache(fileName);
     }
-    //if (Boolean.getBoolean("solr.nrtDirSync")) { // nocommit
+    //if (Boolean.getBoolean("solr.nrtDirSync")) { // MRM TODO:
       in.sync(fileNames);
     //}
   }
@@ -219,7 +219,7 @@ public class NRTCachingDirectory extends FilterDirectory implements Accountable
     // it for defensive reasons... or in case the app is
     // doing something custom (creating outputs directly w/o
     // using IndexWriter):
-    if (Boolean.getBoolean("solr.nrtDirSync")) { // nocommit - we rollback instead of close on IW, and this behavior is unwanted
+    if (Boolean.getBoolean("solr.nrtDirSync")) { // MRM TODO: - we rollback instead of close on IW, and this behavior is unwanted
       IOUtils.close(() -> {
         if (!closed.getAndSet(true)) {
           for (String fileName : cacheDirectory.listAll()) {
diff --git a/solr/core/src/java/org/apache/solr/handler/CheckSumFailException.java b/solr/core/src/java/org/apache/solr/handler/CheckSumFailException.java
index a75c6fd..be1b246 100644
--- a/solr/core/src/java/org/apache/solr/handler/CheckSumFailException.java
+++ b/solr/core/src/java/org/apache/solr/handler/CheckSumFailException.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.handler;
 
 public class CheckSumFailException extends RuntimeException {
diff --git a/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
index 720bc6b..9e60067 100644
--- a/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/ContentStreamHandlerBase.java
@@ -56,7 +56,9 @@ public abstract class ContentStreamHandlerBase extends RequestHandlerBase {
     UpdateRequestProcessorChain processorChain =
         req.getCore().getUpdateProcessorChain(params);
 
-    if (log.isTraceEnabled()) log.trace("update chain {}", processorChain);
+    if (log.isTraceEnabled()) {
+      log.trace("update chain {}", processorChain);
+    }
 
     UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);
     try {
diff --git a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
index 39153f9..2945852 100644
--- a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
+++ b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
@@ -291,7 +291,7 @@ public class IndexFetcher {
 
     String httpBasicAuthUser = (String) initArgs.get(HttpClientUtil.PROP_BASIC_AUTH_USER);
     String httpBasicAuthPassword = (String) initArgs.get(HttpClientUtil.PROP_BASIC_AUTH_PASS);
-    // nocommit
+    // MRM TODO:
     solrClient = sc.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient();
 
     // createHttpClient(solrCore, httpBasicAuthUser, httpBasicAuthPassword, useExternalCompression);
@@ -691,7 +691,9 @@ public class IndexFetcher {
               try {
                 solrCore.getDirectoryFactory().remove(indexDir);
               } catch (IllegalArgumentException e) {
-                if (log.isDebugEnabled()) log.debug("Error removing directory in IndexFetcher", e);
+                if (log.isDebugEnabled()) {
+                  log.debug("Error removing directory in IndexFetcher", e);
+                }
                 // could already be removed
               }
             }
@@ -1061,9 +1063,11 @@ public class IndexFetcher {
       log.warn("WARNING: clearing disk space ahead of time to avoid running out of space, could cause problems with current SolrCore approxTotalSpaceReqd{}, usableSpace={}", atsr, usableSpace);
       deleteFilesInAdvance(indexDir, indexDirPath, totalSpaceRequired, usableSpace);
     }
-    if (log.isDebugEnabled()) log.debug("Files to download {}", filesToDownload);
+    if (log.isDebugEnabled()) {
+      log.debug("Files to download {}", filesToDownload);
+    }
     try {
-      // nocommit
+      // MRM TODO: test parallel for file download (not enabled)
       try (ParWork parWork = new ParWork(this, true)) {
         synchronized (filesToDownload) {
           for (Map<String,Object> file : filesToDownload) {
@@ -1354,7 +1358,9 @@ public class IndexFetcher {
   private boolean moveAFile(Directory tmpIdxDir, Directory indexDir, String fname) {
     boolean success = false;
     try {
-      if (log.isDebugEnabled()) log.debug("Moving file: {} size={}", fname, tmpIdxDir.fileLength(fname));
+      if (log.isDebugEnabled()) {
+        log.debug("Moving file: {} size={}", fname, tmpIdxDir.fileLength(fname));
+      }
       if (slowFileExists(indexDir, fname)) {
         log.warn("Cannot complete replication attempt because file already exists: {}", fname);
 
@@ -1801,7 +1807,6 @@ public class IndexFetcher {
           file.write(buf, packetSize);
 
           bytesDownloaded += packetSize;
-          // nocommit
           log.info("Fetched and wrote {} bytes of file={} from replica={}", bytesDownloaded, fileName, masterUrl);
           //errorCount is always set to zero after a successful packet
           errorCount = 0;
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index 43c1910..af458da 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -503,7 +503,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
       MDC.put("RestoreCore.core", core.getName());
       MDC.put("RestoreCore.backupLocation", location);
       MDC.put("RestoreCore.backupName", name);
-      // nocommit - whats up with using the virt? we prob need to disable run in own thread at the least
+      // MRM TODO: - whats up with using the virt? we prob need to disable run in own thread at the least
       restoreFuture = ParWork.getRootSharedExecutor().submit(restoreCore);
       currentRestoreName = name;
       rsp.add(STATUS, OK_STATUS);
@@ -731,7 +731,9 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
         }
       }
 
-       if (log.isDebugEnabled()) log.debug("FileList={}", result);
+      if (log.isDebugEnabled()) {
+        log.debug("FileList={}", result);
+      }
       rsp.add(CMD_GET_FILE_LIST, result);
       
       if (confFileNameAlias.size() < 1 || core.getCoreContainer().isZooKeeperAware()) {
@@ -1385,7 +1387,9 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
         }
       }
     }
-    if (log.isDebugEnabled()) log.debug("Commits will be reserved for {} ms", reserveCommitDuration);
+    if (log.isDebugEnabled()) {
+      log.debug("Commits will be reserved for {} ms", reserveCommitDuration);
+    }
   }
 
   // check master or slave is enabled
diff --git a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
index aeecb7f..7483a6a 100644
--- a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
@@ -311,7 +311,9 @@ public abstract class RequestHandlerBase implements SolrRequestHandler, SolrInfo
    * This function is thread safe.
    */
   public static SolrRequestHandler getRequestHandler(String handlerName, PluginBag<SolrRequestHandler> reqHandlers) {
-    if (log.isDebugEnabled()) log.debug("get request handler {} from {}", handlerName, reqHandlers);
+    if (log.isDebugEnabled()) {
+      log.debug("get request handler {} from {}", handlerName, reqHandlers);
+    }
     if (handlerName == null) return null;
     SolrRequestHandler handler = reqHandlers.get(handlerName);
     int idx = 0;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
index 4f1a183..4c09da4 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
@@ -288,7 +288,7 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
       if (collection != null) {
         DocCollection coll = coreContainer.getZkController().getZkStateReader().getClusterState().getCollectionOrNull(collection);
         if (coll != null && !action.equals(DELETE)) {
-          //rsp.add("csver", coll.getZNodeVersion()); // nocommit - find out which version was written by overseer and return it in response for this
+          //rsp.add("csver", coll.getZNodeVersion()); // MRM TODO: - find out which version was written by overseer and return it in response for this
         } else {
           // deleted
         }
@@ -326,13 +326,19 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
       rsp.getValues().addAll(overseerResponse.getResponse());
       Exception exp = overseerResponse.getException();
       if (exp != null) {
-        if (log.isDebugEnabled()) log.debug("Exception", exp);
+        if (log.isDebugEnabled()) {
+          log.debug("Exception", exp);
+        }
         rsp.setException(exp);
       }
-      if (log.isDebugEnabled()) log.debug("Overseer is done, response={}", rsp.getValues());
+      if (log.isDebugEnabled()) {
+        log.debug("Overseer is done, response={}", rsp.getValues());
+      }
     } else {
       // submits and doesn't wait for anything (no response)
-      if (log.isDebugEnabled()) log.debug("send request to Overseer queue and don't wait for anything (no response) ... " + props);
+      if (log.isDebugEnabled()) {
+        log.debug("send request to Overseer queue and don't wait for anything (no response) ... " + props);
+      }
       coreContainer.getZkController().getOverseerCollectionQueue()
           .offer(Utils.toJSON(props));
     }
@@ -405,7 +411,9 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
         throw new SolrException(ErrorCode.SERVER_ERROR, operation
             + " the collection time out:" + timeout / 1000 + "s " + m);
       } else if (event.getWatchedEvent() != null) {
-        log.info("no timeout, but got this watch event {}", event.getWatchedEvent());
+        if (log.isInfoEnabled()) {
+          log.info("no timeout, but got this watch event {}", event.getWatchedEvent());
+        }
         throw new SolrException(ErrorCode.SERVER_ERROR, operation
             + " the collection error [Watcher fired on path: "
             + event.getWatchedEvent().getPath() + " state: "
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/MetricsHistoryHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/MetricsHistoryHandler.java
index e675d0a..c9b3e9c 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/MetricsHistoryHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/MetricsHistoryHandler.java
@@ -315,7 +315,9 @@ public class MetricsHistoryHandler extends RequestHandlerBase implements Permiss
 
 
   private void collectMetrics() {
-    if (log.isDebugEnabled()) log.debug("-- collectMetrics");
+    if (log.isDebugEnabled()) {
+      log.debug("-- collectMetrics");
+    }
     // Make sure we are a solr server thread, so we can use PKI auth, SOLR-12860
     // This is a workaround since we could not instrument the ScheduledThreadPoolExecutor in ExecutorUtils
     ExecutorUtil.setServerThreadFlag(true);
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/PrepRecoveryOp.java b/solr/core/src/java/org/apache/solr/handler/admin/PrepRecoveryOp.java
index 6c6127e..edb8bf7 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/PrepRecoveryOp.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/PrepRecoveryOp.java
@@ -79,8 +79,10 @@ class PrepRecoveryOp implements CoreAdminHandler.CoreAdminOp {
           isLive = coreContainer.getZkController().getZkStateReader().isNodeLive(replica.getNodeName());
           if (isLive) {
             if (replica.getState() == waitForState) {
-              if (log.isDebugEnabled()) log.debug("replica={} state={} waitForState={} isLive={}", replica, replica.getState(), waitForState,
-                  coreContainer.getZkController().getZkStateReader().isNodeLive(replica.getNodeName()));
+              if (log.isDebugEnabled()) {
+                log.debug("replica={} state={} waitForState={} isLive={}", replica, replica.getState(), waitForState,
+                    coreContainer.getZkController().getZkStateReader().isNodeLive(replica.getNodeName()));
+              }
               return true;
             } else if (replica.getState() == Replica.State.ACTIVE) {
               return true;
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SplitOp.java b/solr/core/src/java/org/apache/solr/handler/admin/SplitOp.java
index cea9341..036aa3f 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/SplitOp.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/SplitOp.java
@@ -72,7 +72,9 @@ class SplitOp implements CoreAdminHandler.CoreAdminOp {
     String splitKey = params.get("split.key");
     String[] newCoreNames = params.getParams("targetCore");
     String cname = params.get(CoreAdminParams.CORE, null);
-    log.info("Run split cmd splitkey={} core={} targetCore={}", splitKey, cname, newCoreNames == null ? null : Arrays.asList(newCoreNames), cname);
+    if (log.isInfoEnabled()) {
+      log.info("Run split cmd splitkey={} core={} targetCore={}", splitKey, cname, newCoreNames == null ? null : Arrays.asList(newCoreNames), cname);
+    }
     if (cname == null) {
       throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "core cannot be null " + params);
     }
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java
index 33468b6..a37d09e 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java
@@ -104,7 +104,7 @@ public class SystemInfoHandler extends RequestHandlerBase
     }
     
     RTimer timer = new RTimer();
-    // nocommit - this is bad for tests, blocks a lot
+    // MRM TODO: - this is bad for tests, blocks a lot
 //    try {
 //      InetAddress addr = InetAddress.getLocalHost();
 //      hostname = addr.getCanonicalHostName();
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
index 967919a..6cc134c 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
@@ -281,7 +281,9 @@ public class ZookeeperStatusHandler extends RequestHandlerBase {
             try (BufferedReader in = new BufferedReader(isr)) {
               out.println(fourLetterWordCommand);
               List<String> response = in.lines().collect(Collectors.toList());
-              if (log.isDebugEnabled()) log.debug("Got response from ZK on host {} and port {}: {}", host, port, response);
+              if (log.isDebugEnabled()) {
+                log.debug("Got response from ZK on host {} and port {}: {}", host, port, response);
+              }
               return response;
             }
           }
diff --git a/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java b/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
index e395388..992b013 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
@@ -273,7 +273,7 @@ public class HttpShardHandlerFactory extends ShardHandlerFactory implements org.
     if (v != null) {
       r.setSeed(Long.parseLong(v));
     }
-    // nocommit
+    // MRM TODO:
     // this.defaultClient.addListenerFactory(this.httpListenerFactory);
     this.loadbalancer = new LBHttp2SolrClient(defaultClient);
 
@@ -390,7 +390,7 @@ public class HttpShardHandlerFactory extends ShardHandlerFactory implements org.
   @Override
   public void initializeMetrics(SolrMetricsContext parentContext, String scope) {
     solrMetricsContext = parentContext.getChildContext(this);
-    // nocommit
+    // MRM TODO:
     String expandedScope = SolrMetricManager.mkName(scope, SolrInfoBean.Category.QUERY.name());
     //httpListenerFactory.initializeMetrics(solrMetricsContext, expandedScope);
 //    commExecutor = MetricUtils.instrumentedExecutorService(commExecutor, null,
diff --git a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
index 9427fff..5f108ee 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
@@ -351,7 +351,9 @@ public class RealTimeGetComponent extends SearchComponent
     if (idStr == null) return;
     AtomicLong version = new AtomicLong();
     SolrInputDocument doc = getInputDocument(req.getCore(), new BytesRef(idStr), version, null, Resolution.DOC);
-    if (log.isDebugEnabled()) log.debug("getInputDocument called for id={}, returning {}", idStr, doc);
+    if (log.isDebugEnabled()) {
+      log.debug("getInputDocument called for id={}, returning {}", idStr, doc);
+    }
     rb.rsp.add("inputDocument", doc);
     rb.rsp.add("version", version.get());
   }
@@ -965,7 +967,9 @@ public class RealTimeGetComponent extends SearchComponent
     // the mappings.
 
     for (int i=0; i<rb.slices.length; i++) {
-      if (log.isDebugEnabled()) log.debug("LOOKUP_SLICE:{}={}", rb.slices[i], rb.shards[i]);
+      if (log.isDebugEnabled()) {
+        log.debug("LOOKUP_SLICE:{}={}", rb.slices[i], rb.shards[i]);
+      }
       if (lookup.equals(rb.slices[i]) || slice.equals(rb.slices[i])) {
         return new String[]{rb.shards[i]};
       }
@@ -1184,7 +1188,9 @@ public class RealTimeGetComponent extends SearchComponent
 
     // TODO: get this from cache instead of rebuilding?
     try (UpdateLog.RecentUpdates recentUpdates = ulog.getRecentUpdates()) {
-      if (log.isDebugEnabled()) log.debug("Get updates  versionsRequested={} params={}", versions.size(), params);
+      if (log.isDebugEnabled()) {
+        log.debug("Get updates  versionsRequested={} params={}", versions.size(), params);
+      }
       for (Long version : versions) {
         try {
           Object o = recentUpdates.lookup(version);
diff --git a/solr/core/src/java/org/apache/solr/handler/component/SolrExecutorCompletionService.java b/solr/core/src/java/org/apache/solr/handler/component/SolrExecutorCompletionService.java
index 6a5ee9b..a8c585c 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SolrExecutorCompletionService.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SolrExecutorCompletionService.java
@@ -1,8 +1,19 @@
-//
-// Source code recreated from a .class file by IntelliJ IDEA
-// (powered by FernFlower decompiler)
-//
-
+/*
+ * 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.solr.handler.component;
 
 import org.apache.solr.common.PerThreadExecService;
@@ -61,7 +72,7 @@ public class SolrExecutorCompletionService<V> implements CompletionService<V> {
       throw new NullPointerException();
     } else {
       RunnableFuture<V> f = this.newTaskFor(task, result);
-      this.executor.submit(new SolrExecutorCompletionService.QueueingFuture(f, this.completionQueue)); // nocommit - dont limit thread usage as much
+      this.executor.submit(new SolrExecutorCompletionService.QueueingFuture(f, this.completionQueue)); // MRM TODO: - dont limit thread usage as much
       return f;
     }
   }
diff --git a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
index 8fd4588..7260d74 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
@@ -1135,7 +1135,7 @@ public class SolrMetricManager {
 
       reportersLock.lock();
       if (log.isDebugEnabled()) log.debug("Closing metric reporters for registry=" + registry + ", tag=" + tag);
-      // nocommit
+      // MRM TODO:
       Map<String,SolrMetricReporter> perRegistry = reporters.get(registry);
       if (perRegistry != null) {
         Set<String> names = new HashSet<>(perRegistry.keySet());
diff --git a/solr/core/src/java/org/apache/solr/metrics/SolrMetricRegistry.java b/solr/core/src/java/org/apache/solr/metrics/SolrMetricRegistry.java
index 4af99f0..2dbfbd1 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricRegistry.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricRegistry.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.metrics;
 
 import com.codahale.metrics.Metric;
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java b/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
index bfa0685..42c48fa 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
@@ -70,7 +70,9 @@ public class PackageLoader implements Closeable {
   }
 
   public void refreshPackageConf() {
-    if (log.isDebugEnabled()) log.debug("{} updated to version {}", ZkStateReader.SOLR_PKGS_PATH, packageAPI.pkgs.znodeVersion);
+    if (log.isDebugEnabled()) {
+      log.debug("{} updated to version {}", ZkStateReader.SOLR_PKGS_PATH, packageAPI.pkgs.znodeVersion);
+    }
 
     List<Package> updated = new ArrayList<>();
     Map<String, List<PackageAPI.PkgVersion>> modified = getModified(myCopy, packageAPI.pkgs);
diff --git a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
index 230f774..7be5961 100644
--- a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
@@ -796,7 +796,7 @@ public class SimpleFacets {
     // Also, a subtlety of directExecutor is that no matter how many times you "submit" a job, it's really
     // just a method call in that it's run by the calling thread.
     int maxThreads = req.getParams().getInt(FacetParams.FACET_THREADS, 0);
-    // nocommit
+    // MRM TODO:
     // Executor executor = maxThreads == 0 ? directExecutor : facetExecutor;
 
 //    if (fdebugParent != null) {
diff --git a/solr/core/src/java/org/apache/solr/schema/IndexSchema.java b/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
index d421019..8f1c071 100644
--- a/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
@@ -644,7 +644,7 @@ public class IndexSchema {
         // we don't want ot fail if there happens to be a dynamicField matching ROOT, (ie: "*")
         // because the user may not care about child docs at all.  The run time code
         // related to child docs can catch that if it happens
-        // nocommit
+        // MRM TODO:
         if (fields.containsKey(ROOT_FIELD_NAME) && ! isUsableForChildDocs()) {
           String msg = ROOT_FIELD_NAME + " field must be defined using the exact same fieldType as the " +
             UNIQUE_KEY + " field ("+uniqueKeyFieldName+") uses: " + uniqueKeyFieldType.getTypeName();
diff --git a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
index 210c36a..8e9d783 100644
--- a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
@@ -207,7 +207,9 @@ public final class ManagedIndexSchema extends IndexSchema {
           if (stat != null) {
             found = stat.getVersion();
           }
-          if (log.isDebugEnabled()) log.debug("Bad version when trying to persist schema using {} found {} schema {}", ver, found, this);
+          if (log.isDebugEnabled()) {
+            log.debug("Bad version when trying to persist schema using {} found {} schema {}", ver, found, this);
+          }
 
           schemaChangedInZk = true;
         }
@@ -222,7 +224,9 @@ public final class ManagedIndexSchema extends IndexSchema {
     }
     if (schemaChangedInZk) {
       String msg = "Failed to persist managed schema at " + managedSchemaPath + " - version mismatch";
-      if (log.isDebugEnabled()) log.debug(msg);
+      if (log.isDebugEnabled()) {
+        log.debug(msg);
+      }
       throw new SchemaChangedInZkException(ErrorCode.CONFLICT, msg + ", retry.");
     }
 
@@ -246,7 +250,7 @@ public final class ManagedIndexSchema extends IndexSchema {
     // get a list of active replica cores to query for the schema zk version (skipping this core of course)
     List<GetZkSchemaVersionCallable> concurrentTasks = new ArrayList<>();
     for (String coreUrl : getActiveReplicaCoreUrls(zkController, collection, coreName))
-      // nocommit - make a general http2 client that is not also for updates, for now we use recovery client
+      // MRM TODO: - make a general http2 client that is not also for updates, for now we use recovery client
       concurrentTasks.add(new GetZkSchemaVersionCallable(coreUrl, schemaZkVersion, zkController.getCoreContainer().getUpdateShardHandler().getRecoveryOnlyClient(), isClosed));
     if (concurrentTasks.isEmpty()) return; // nothing to wait for ...
 
@@ -1409,7 +1413,9 @@ public final class ManagedIndexSchema extends IndexSchema {
     this.managedSchemaResourceName = managedSchemaResourceName;
     this.schemaZkVersion = schemaZkVersion;
     this.collection = collection;
-    if (log.isDebugEnabled()) log.debug("Copy to new ManagedIndexSchemaFactory with version {}", schemaZkVersion);
+    if (log.isDebugEnabled()) {
+      log.debug("Copy to new ManagedIndexSchemaFactory with version {}", schemaZkVersion);
+    }
   }
 
   /**
diff --git a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
index 0887047..881a161 100644
--- a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
+++ b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchemaFactory.java
@@ -138,7 +138,9 @@ public class ManagedIndexSchemaFactory extends IndexSchemaFactory implements Sol
           // Attempt to load the managed schema
           byte[] data = zkClient.getData(managedSchemaPath, null, stat);
           schemaZkVersion = stat.getVersion();
-          if (log.isDebugEnabled()) log.debug("Found schema version on load {}", schemaZkVersion);
+          if (log.isDebugEnabled()) {
+            log.debug("Found schema version on load {}", schemaZkVersion);
+          }
           schemaInputStream = new ByteArrayInputStream(data);
           loadedResource = managedSchemaResourceName;
           warnIfNonManagedSchemaExists();
diff --git a/solr/core/src/java/org/apache/solr/schema/ZkIndexSchemaReader.java b/solr/core/src/java/org/apache/solr/schema/ZkIndexSchemaReader.java
index 6be250c..e1cb9e8 100644
--- a/solr/core/src/java/org/apache/solr/schema/ZkIndexSchemaReader.java
+++ b/solr/core/src/java/org/apache/solr/schema/ZkIndexSchemaReader.java
@@ -109,7 +109,9 @@ public class ZkIndexSchemaReader implements OnReconnect, Closeable {
       } catch (KeeperException.NoWatcherException e) {
 
       } catch (Exception e) {
-        if (log.isDebugEnabled()) log.debug("could not remove watch {} {}", e.getClass().getSimpleName(), e.getMessage());
+        if (log.isDebugEnabled()) {
+          log.debug("could not remove watch {} {}", e.getClass().getSimpleName(), e.getMessage());
+        }
       }
     }
   }
@@ -138,10 +140,14 @@ public class ZkIndexSchemaReader implements OnReconnect, Closeable {
 
       v = managedIndexSchemaFactory.getSchema().getSchemaZkVersion();
 
-      if (log.isDebugEnabled()) log.debug("Retrieved schema version {} from Zookeeper, existing={} schema={}", existsVersion, v, managedIndexSchemaFactory.getSchema());
+      if (log.isDebugEnabled()) {
+        log.debug("Retrieved schema version {} from Zookeeper, existing={} schema={}", existsVersion, v, managedIndexSchemaFactory.getSchema());
+      }
 
       if (v >= existsVersion) {
-        if (log.isDebugEnabled()) log.debug("Old schema version {} is >= found version {}", v, existsVersion);
+        if (log.isDebugEnabled()) {
+          log.debug("Old schema version {} is >= found version {}", v, existsVersion);
+        }
 
         return null;
       }
diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcherGauge.java b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcherGauge.java
index 9ccb041..677f6a4 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcherGauge.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcherGauge.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.search;
 
 import com.codahale.metrics.CachedGauge;
diff --git a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
index 181df44..fe46b62 100644
--- a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
@@ -117,7 +117,7 @@ public abstract class AuditLoggerPlugin extends ParWork.ParWorkCallableBase impl
     pluginConfig.remove(PARAM_NUM_THREADS);
     if (async) {
       queue = new BlockingArrayQueue<>(blockingQueueSize);
-      // nocommit take a closer look at executor usage here
+      // MRM TODO: take a closer look at executor usage here
       // executorService = ExecutorUtil.newMDCAwareFixedThreadPool(numThreads, new SolrNamedThreadFactory("audit"));
       executorService = ParWork.getMyPerThreadExecutor();
       assert runningFuture == null;
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 3b03545..484c2ea 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -458,10 +458,14 @@ public class HttpSolrCall {
    * Extract handler from the URL path if not set.
    */
   protected void extractHandlerFromURLPath(SolrRequestParsers parser) throws Exception {
-    if (log.isTraceEnabled()) log.trace("Extract handler from url path {} {}", handler, path);
+    if (log.isTraceEnabled()) {
+      log.trace("Extract handler from url path {} {}", handler, path);
+    }
     if (handler == null && path.length() > 1) { // don't match "" or "/" as valid path
       handler = core.getRequestHandler(path);
-      if (log.isTraceEnabled()) log.trace("handler={} name={}", handler, path);
+      if (log.isTraceEnabled()) {
+        log.trace("handler={} name={}", handler, path);
+      }
       // no handler yet but <requestDispatcher> allows us to handle /select with a 'qt' param
       if (handler == null && parser.isHandleSelect()) {
         if ("/select".equals(path) || "/select/".equals(path)) {
@@ -688,7 +692,9 @@ public class HttpSolrCall {
   void destroy() {
     try {
       if (solrReq != null) {
-        if (log.isTraceEnabled()) log.trace("Closing out SolrRequest: {}", solrReq);
+        if (log.isTraceEnabled()) {
+          log.trace("Closing out SolrRequest: {}", solrReq);
+        }
         IOUtils.closeQuietly(solrReq);
       }
     } finally {
@@ -708,7 +714,7 @@ public class HttpSolrCall {
     if (req != null) {
 
       log.info("proxy to:" + coreUrl + "?" + req.getQueryString());
-      // nocommit - dont proxy around too much
+      // MRM TODO: - dont proxy around too much
       String fhost = req.getHeader(HttpHeader.X_FORWARDED_FOR.toString());
       if (fhost != null) {
         // Already proxied
@@ -778,7 +784,7 @@ public class HttpSolrCall {
       listener.getInputStream().transferTo(response.getOutputStream());
 
 //      try {
-//        listener.await(60, TimeUnit.SECONDS); // nocommit timeout
+//        listener.await(60, TimeUnit.SECONDS); // MRM TODO: timeout
 //      } catch (InterruptedException e) {
 //        log.error("Interrupted waiting for proxy request");
 //      } catch (TimeoutException e) {
@@ -802,7 +808,7 @@ public class HttpSolrCall {
   }
 
   protected void addProxyHeaders(HttpServletRequest clientRequest, Request proxyRequest) {
-    proxyRequest.header(HttpHeader.VIA, "HTTP/2.0 Solr Proxy"); //nocommit protocol hard code
+    proxyRequest.header(HttpHeader.VIA, "HTTP/2.0 Solr Proxy"); //MRM TODO: protocol hard code
     proxyRequest.header(HttpHeader.X_FORWARDED_FOR, clientRequest.getRemoteAddr());
     // we have some tricky to see in tests header size limitations
     // proxyRequest.header(HttpHeader.X_FORWARDED_PROTO, clientRequest.getScheme());
@@ -1047,7 +1053,9 @@ public class HttpSolrCall {
       for (String pair : pairs) {
         String[] pcs = StringUtils.split(pair, ':');
         if (pcs.length == 2 && !pcs[0].isEmpty() && !pcs[1].isEmpty()) {
-          if (log.isDebugEnabled()) log.debug("compare version states {} {}", pcs[0], Integer.parseInt(pcs[1]));
+          if (log.isDebugEnabled()) {
+            log.debug("compare version states {} {}", pcs[0], Integer.parseInt(pcs[1]));
+          }
 
           if (result == null) result = new HashMap<>();
           result.put(pcs[0], Integer.parseInt(pcs[1]));
@@ -1055,12 +1063,16 @@ public class HttpSolrCall {
         }
       }
     }
-    if (log.isTraceEnabled()) log.trace("compare version states result {} {}", stateVer, result);
+    if (log.isTraceEnabled()) {
+      log.trace("compare version states result {} {}", stateVer, result);
+    }
     return result;
   }
 
   protected SolrCore getCoreByCollection(String collectionName, boolean isPreferLeader) throws TimeoutException, InterruptedException {
-    if (log.isDebugEnabled()) log.debug("get core by collection {} {}", collectionName, isPreferLeader);
+    if (log.isDebugEnabled()) {
+      log.debug("get core by collection {} {}", collectionName, isPreferLeader);
+    }
     ensureStatesAreAtLeastAtClient();
 
     ZkStateReader zkStateReader = cores.getZkController().getZkStateReader();
@@ -1121,7 +1133,9 @@ public class HttpSolrCall {
 
     String coreUrl = getCoreUrl(slices);
 
-    if (log.isDebugEnabled()) log.debug("get remote core url returning {} for {} {}", coreUrl, collectionName, origCorename);
+    if (log.isDebugEnabled()) {
+      log.debug("get remote core url returning {} for {} {}", coreUrl, collectionName, origCorename);
+    }
     return coreUrl;
   }
 
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
index a8dda21..1b42209 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
@@ -191,7 +191,9 @@ public class SolrDispatchFilter extends BaseSolrFilter {
 
       StartupLoggingUtils.checkLogDir();
 
-      log.info("Using logger factory {}", StartupLoggingUtils.getLoggerImplStr());
+      if (log.isInfoEnabled()) {
+        log.info("Using logger factory {}", StartupLoggingUtils.getLoggerImplStr());
+      }
 
       logWelcomeBanner();
       String muteConsole = System.getProperty(SOLR_LOG_MUTECONSOLE);
@@ -200,7 +202,9 @@ public class SolrDispatchFilter extends BaseSolrFilter {
       }
       String logLevel = System.getProperty(SOLR_LOG_LEVEL);
       if (logLevel != null) {
-        log.info("Log level override, property solr.log.level={}", logLevel);
+        if (log.isInfoEnabled()) {
+          log.info("Log level override, property solr.log.level={}", logLevel);
+        }
         StartupLoggingUtils.changeLogLevel(logLevel);
       }
 
@@ -265,7 +269,7 @@ public class SolrDispatchFilter extends BaseSolrFilter {
     try {
       metricManager.registerAll(registryName, new AltBufferPoolMetricSet(), false, "buffers");
       metricManager.registerAll(registryName, new ClassLoadingGaugeSet(), false, "classes");
-      // nocommit - this still appears fairly costly
+      // MRM TODO: - this still appears fairly costly
       metricManager.registerAll(registryName, new OperatingSystemMetricSet(), false, "os");
       metricManager.registerAll(registryName, new GarbageCollectorMetricSet(), false, "gc");
       metricManager.registerAll(registryName, new MemoryUsageGaugeSet(), false, "memory");
@@ -289,11 +293,14 @@ public class SolrDispatchFilter extends BaseSolrFilter {
     // that's so ugly so far.
     if (log.isInfoEnabled()) {
       log.info("  ___ _       _ _            ___     _            Welcome to Apache Solr™ version {}", solrVersion());
-
+    }
+    if (log.isInfoEnabled()) {
       log.info(" / __| |_ ___| | |__ _ _ _  / __|___| |_ _        Starting in {} mode on port {}", isCloudMode() ? "cloud" : "standalone", getSolrPort());
-
+    }
+    if (log.isInfoEnabled()) {
       log.info(" \\__ \\  _/ -_) | / _` | '_| \\__ \\ _ \\ | '_|  Install dir: {}", System.getProperty(SOLR_INSTALL_DIR_ATTRIBUTE));
-
+    }
+    if (log.isInfoEnabled()) {
       log.info(" |___/\\__\\___|_|_\\__,_|_|   |___\\___/_|_|     Start time: {}", Instant.now());
     }
   }
@@ -328,7 +335,7 @@ public class SolrDispatchFilter extends BaseSolrFilter {
   protected synchronized CoreContainer createCoreContainer(Path solrHome, Properties extraProperties) throws IOException {
     String zkHost = System.getProperty("zkHost");
     if (!StringUtils.isEmpty(zkHost)) {
-      int zkClientTimeout = Integer.getInteger("zkClientTimeout", 15000); // nocommit - must come from zk settings, we should parse more here and set this up vs waiting for zkController
+      int zkClientTimeout = Integer.getInteger("zkClientTimeout", 15000); // MRM TODO: - must come from zk settings, we should parse more here and set this up vs waiting for zkController
       if (zkClient != null) {
         throw new IllegalStateException();
       }
@@ -564,10 +571,14 @@ public class SolrDispatchFilter extends BaseSolrFilter {
     String path = ServletUtils.getPathAfterContext(request);
 
     if (isV2Enabled && (path.startsWith("/____v2/") || path.equals("/____v2"))) {
-      if (log.isDebugEnabled()) log.debug("V2 http call");
+      if (log.isDebugEnabled()) {
+        log.debug("V2 http call");
+      }
       return new V2HttpCall(this, cores, request, response, false);
     } else {
-      if (log.isDebugEnabled()) log.debug("V1 http call");
+      if (log.isDebugEnabled()) {
+        log.debug("V1 http call");
+      }
       return new HttpSolrCall(this, cores, request, response, retry);
     }
   }
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrLifcycleListener.java b/solr/core/src/java/org/apache/solr/servlet/SolrLifcycleListener.java
index 8f071b0..f86db27 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrLifcycleListener.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrLifcycleListener.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.servlet;
 
 import org.apache.solr.common.ParWork;
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrQoSFilter.java b/solr/core/src/java/org/apache/solr/servlet/SolrQoSFilter.java
index ebe3bf1..fad4a5c 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrQoSFilter.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrQoSFilter.java
@@ -57,7 +57,7 @@ public class SolrQoSFilter extends QoSFilter {
   }
 
   @Override
-  // nocommit - this is all just test/prototype - we should extract an actual strategy for adjusting on load
+  // MRM TODO: - this is all just test/prototype - we should extract an actual strategy for adjusting on load
   // allow the user to select and configure one
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
     HttpServletRequest req = (HttpServletRequest) request;
@@ -68,14 +68,18 @@ public class SolrQoSFilter extends QoSFilter {
     //log.info("SolrQoSFilter {} {} {}", sysStats.getSystemLoad(), sysStats.getTotalUsage(), externalRequest);
 
     if (externalRequest) {
-      if (log.isDebugEnabled()) log.debug("external request"); //nocommit: remove when testing is done
+      if (log.isDebugEnabled()) {
+        log.debug("external request"); //MRM TODO:: remove when testing is done
+      }
       checkLoad();
 
       //chain.doFilter(req, response);
       super.doFilter(req, response, chain);
 
     } else {
-      if (log.isDebugEnabled()) log.debug("internal request, allow");
+      if (log.isDebugEnabled()) {
+        log.debug("internal request, allow");
+      }
       chain.doFilter(req, response);
     }
   }
@@ -83,7 +87,9 @@ public class SolrQoSFilter extends QoSFilter {
   private void checkLoad() {
     double ourLoad = sysStats.getTotalUsage();
     int currentMaxRequests = getMaxRequests();
-    if (log.isDebugEnabled()) log.debug("Our individual load is {}", ourLoad);
+    if (log.isDebugEnabled()) {
+      log.debug("Our individual load is {}", ourLoad);
+    }
     double sLoad = sysStats.getSystemLoad();
 
 
@@ -103,7 +109,7 @@ public class SolrQoSFilter extends QoSFilter {
         }
       }
     }
-      // nocommit - deal with no supported, use this as a fail safe with high and low watermark?
+      // MRM TODO: - deal with no supported, use this as a fail safe with high and low watermark?
   }
 
   private boolean lowStateLoad(double sLoad, int currentMaxRequests) {
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrShutdownHandler.java b/solr/core/src/java/org/apache/solr/servlet/SolrShutdownHandler.java
index e1d4440..18a3a2c 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrShutdownHandler.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrShutdownHandler.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.servlet;
 
 import org.apache.solr.common.ParWork;
diff --git a/solr/core/src/java/org/apache/solr/servlet/StopJetty.java b/solr/core/src/java/org/apache/solr/servlet/StopJetty.java
index 250b858..6bfdd84 100644
--- a/solr/core/src/java/org/apache/solr/servlet/StopJetty.java
+++ b/solr/core/src/java/org/apache/solr/servlet/StopJetty.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.servlet;
 
 import java.io.InputStreamReader;
diff --git a/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java b/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
index 421844a..8699d5b 100644
--- a/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
+++ b/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
@@ -598,7 +598,9 @@ public class DirectUpdateHandler2 extends UpdateHandler implements SolrCoreState
     boolean error=true;
 
     try {
-      if (log.isDebugEnabled()) log.debug("start {}", cmd);
+      if (log.isDebugEnabled()) {
+        log.debug("start {}", cmd);
+      }
       RefCounted<IndexWriter> iw = solrCoreState.getIndexWriter(core);
       try {
         SolrIndexWriter.setCommitData(iw.get(), cmd.getVersion());
@@ -607,7 +609,9 @@ public class DirectUpdateHandler2 extends UpdateHandler implements SolrCoreState
         iw.decref();
       }
 
-      if (log.isDebugEnabled()) log.debug("end_prepareCommit");
+      if (log.isDebugEnabled()) {
+        log.debug("end_prepareCommit");
+      }
 
       error=false;
     }
@@ -826,7 +830,9 @@ public class DirectUpdateHandler2 extends UpdateHandler implements SolrCoreState
 
   @Override
   public void close() throws IOException {
-    if (log.isDebugEnabled()) log.debug("closing {}", this);
+    if (log.isDebugEnabled()) {
+      log.debug("closing {}", this);
+    }
     try (ParWork closer = new ParWork(this, true, false)) {
       closer.collect(commitTracker);
       closer.collect(softCommitTracker);
diff --git a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
index afaa236..816e132 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
@@ -207,7 +207,9 @@ public class SolrCmdDistributor implements Closeable {
       ModifiableSolrParams params) {
     // we need to do any retries before commit...
     //blockAndDoRetries();
-    if (log.isDebugEnabled()) log.debug("Distrib commit to: {} params: {}", nodes, params);
+    if (log.isDebugEnabled()) {
+      log.debug("Distrib commit to: {} params: {}", nodes, params);
+    }
 
     for (Node node : nodes) {
       UpdateRequest uReq = new UpdateRequest();
@@ -275,14 +277,16 @@ public class SolrCmdDistributor implements Closeable {
       client.asyncRequest(req.uReq, null, new AsyncListener<>() {
         @Override
         public void onSuccess(NamedList result) {
-          if (log.isTraceEnabled()) log.trace("Success for distrib update {}", result);
+          if (log.isTraceEnabled()) {
+            log.trace("Success for distrib update {}", result);
+          }
         }
 
         @Override
         public void onFailure(Throwable t, int code) {
           log.error("Exception sending dist update {} {}", code, t);
 
-          // nocommit - we want to prevent any more from this request
+          // MRM TODO: - we want to prevent any more from this request
           // to go just to this node rather than stop the whole request
           if (code == 404) {
             cancelExeption = t;
diff --git a/solr/core/src/java/org/apache/solr/update/SolrCoreState.java b/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
index 469126c..f665334 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
@@ -58,7 +58,9 @@ public abstract class SolrCoreState {
   protected int solrCoreStateRefCnt = 1;
 
   public void increfSolrCoreState() {
-    if (log.isDebugEnabled()) log.debug("SolrCoreState ref count {}", solrCoreStateRefCnt);
+    if (log.isDebugEnabled()) {
+      log.debug("SolrCoreState ref count {}", solrCoreStateRefCnt);
+    }
     synchronized (this) {
       if (solrCoreStateRefCnt == 0) {
         throw new CoreIsClosedException("IndexWriter has been closed");
@@ -71,7 +73,9 @@ public abstract class SolrCoreState {
     boolean close = false;
     synchronized (this) {
       solrCoreStateRefCnt--;
-      if (log.isDebugEnabled()) log.debug("SolrCoreState ref count {}", solrCoreStateRefCnt);
+      if (log.isDebugEnabled()) {
+        log.debug("SolrCoreState ref count {}", solrCoreStateRefCnt);
+      }
 
       if (solrCoreStateRefCnt == 0) {
         closed = true;
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
index 9ea8e6c..3e3531a 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
@@ -1008,7 +1008,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor {
           // we're not in an active state, and this update isn't from a replay, so buffer it.
           cmd.setFlags(cmd.getFlags() | UpdateCommand.BUFFERING);
           ulog.deleteByQuery(cmd);
-          return null; // nocommit
+          return null; // MRM TODO:
         }
 
         future = ParWork.getRootSharedExecutor().submit(() -> {
@@ -1485,10 +1485,14 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor {
 
     @Override
     public Object call() throws Exception {
-      if (log.isTraceEnabled()) log.trace("Run distrib add collection");
+      if (log.isTraceEnabled()) {
+        log.trace("Run distrib add collection");
+      }
       try {
         doDistribAdd(finalCloneCmd);
-        if (log.isTraceEnabled()) log.trace("after distrib add collection");
+        if (log.isTraceEnabled()) {
+          log.trace("after distrib add collection");
+        }
       } catch (Throwable e) {
         return e;
       }
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
index 3e57a3b..2a184e3 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
@@ -1029,7 +1029,7 @@ public class DistributedZkUpdateProcessor extends DistributedUpdateProcessor {
                   if (ruleExpiryLock.tryLock() || ruleExpiryLock.tryLock(10, TimeUnit.MILLISECONDS)) {
                     log.info("Going to expire routing rule");
                     try {
-                      // nocommit TODO: needs to use the statepublisher
+                      // MRM TODO: TODO: needs to use the statepublisher
                       Map<String, Object> map = Utils.makeMap(Overseer.QUEUE_OPERATION, OverseerAction.REMOVEROUTINGRULE.toLower(),
                           ZkStateReader.COLLECTION_PROP, collection,
                           ZkStateReader.SHARD_ID_PROP, myShardId,
diff --git a/solr/core/src/java/org/apache/solr/util/SystemIdResolver.java b/solr/core/src/java/org/apache/solr/util/SystemIdResolver.java
index 1dd90a2..1dfa093 100644
--- a/solr/core/src/java/org/apache/solr/util/SystemIdResolver.java
+++ b/solr/core/src/java/org/apache/solr/util/SystemIdResolver.java
@@ -91,7 +91,9 @@ public final class SystemIdResolver implements EntityResolver, EntityResolver2 {
   }
   
   URI resolveRelativeURI(String baseURI, String systemId) throws URISyntaxException {
-    if (log.isDebugEnabled()) log.debug("resolve relative uri {} {}, {}, {}", baseURI, systemId);
+    if (log.isDebugEnabled()) {
+      log.debug("resolve relative uri {} {}, {}, {}", baseURI, systemId);
+    }
     URI uri;
     
     // special case for backwards compatibility: if relative systemId starts with "/" (we convert that to an absolute solrres:-URI)
@@ -119,7 +121,9 @@ public final class SystemIdResolver implements EntityResolver, EntityResolver2 {
   
   @Override
   public InputSource resolveEntity(String name, String publicId, String baseURI, String systemId) throws IOException {
-    if (log.isDebugEnabled()) log.debug("resolve entity {} {}, {}, {}", name, publicId, baseURI, systemId);
+    if (log.isDebugEnabled()) {
+      log.debug("resolve entity {} {}, {}, {}", name, publicId, baseURI, systemId);
+    }
     if (systemId == null) {
       return null;
     }
diff --git a/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java b/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
index 760a5b6..a1ca1c7 100644
--- a/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
+++ b/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
@@ -168,7 +168,9 @@ public abstract class AbstractPluginLoader<T>
               try {
                 T plugin = create(loader, finalName, className, node, xpath);
 
-                if (log.isTraceEnabled()) log.trace("created {}: {}", ((finalName != null) ? finalName : ""), plugin.getClass().getName());
+                if (log.isTraceEnabled()) {
+                  log.trace("created {}: {}", ((finalName != null) ? finalName : ""), plugin.getClass().getName());
+                }
 
                 // Either initialize now or wait till everything has been registered
                 if (preRegister) {
@@ -300,13 +302,13 @@ public abstract class AbstractPluginLoader<T>
 
     PluginInitInfo(T plugin, NodeInfo node) {
       this.plugin = plugin;
-      this.node = node; // nocommit
+      this.node = node; // MRM TODO:
    //   this.domNode = null;
     }
 
 //    PluginInitInfo(T plugin, Node node) {
 //      this.plugin = plugin;
-//      this.domNode = node; // nocommit
+//      this.domNode = node; // MRM TODO:
 //      this. node = null;
 //    }
   }
diff --git a/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java b/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
index f231165..e82a5ea 100644
--- a/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
+++ b/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
@@ -376,7 +376,7 @@ public class BasicFunctionalityTest extends SolrTestCaseJ4 {
     for (String field : FIELDS) {
       SolrException e1 = SolrTestCaseUtil.expectThrows(SolrException.class, "Didn't encounter an error trying to add a bad date: " + field, () -> h.update(add(doc("id", "100", field, BAD_VALUE))));
       String msg1 = e1.getMessage();
-      // nocommit
+      // MRM TODO:
 //      assertTrue("not an (update) client error on field: " + field +" : "+ msg1,
 //          400 <= e1.code() && e1.code() < 500);
       assertTrue("(update) client error does not mention bad value: " + msg1,
@@ -427,7 +427,7 @@ public class BasicFunctionalityTest extends SolrTestCaseJ4 {
     for (String field : FIELDS) {
       SolrException e1 = SolrTestCaseUtil.expectThrows(SolrException.class, "Didn't encounter an error trying to add a non-number: " + field, () -> h.update(add(doc("id", "100", field, BAD_VALUE))));
       String msg1 = e1.toString();
-      // nocommit
+      // MRM TODO:
 //      assertTrue("not an (update) client error on field: " + field +" : "+ msg1,
 //          400 <= e1.code() && e1.code() < 500);
       assertTrue("(update) client error does not mention bad value: " + msg1,
diff --git a/solr/core/src/test/org/apache/solr/ConvertedLegacyTest.java b/solr/core/src/test/org/apache/solr/ConvertedLegacyTest.java
index 3462079..0f1bf73 100644
--- a/solr/core/src/test/org/apache/solr/ConvertedLegacyTest.java
+++ b/solr/core/src/test/org/apache/solr/ConvertedLegacyTest.java
@@ -723,7 +723,7 @@ public class ConvertedLegacyTest extends SolrTestCaseJ4 {
 
     // test sorting  with some docs missing the sort field
 
-      // nocommit have to look at what changed here
+      // MRM TODO: have to look at what changed here
       if (true) {
           return;
       }
diff --git a/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
index 80d3d3d..8791641 100644
--- a/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
@@ -67,7 +67,7 @@ import org.junit.Test;
 
 import static org.apache.solr.common.cloud.ZkStateReader.ALIASES;
 
-@Ignore // nocommit leaking...
+@Ignore // MRM TODO: leaking...
 @LuceneTestCase.Nightly
 public class AliasIntegrationTest extends SolrCloudTestCase {
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
index cd09e4f..eb51844 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
@@ -34,7 +34,7 @@ import java.util.Set;
 
 @Slow
 @SolrTestCase.SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
-@LuceneTestCase.Nightly // nocommit, speed up and bridge
+@LuceneTestCase.Nightly // MRM TODO:, speed up and bridge
 public class ChaosMonkeyNothingIsSafeTest extends AbstractFullDistribZkTestBase {
   private static final int FAIL_TOLERANCE = 100;
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeWithPullReplicasTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeWithPullReplicasTest.java
index e05c5ae..63edcc5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeWithPullReplicasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeWithPullReplicasTest.java
@@ -45,7 +45,7 @@ import java.util.concurrent.TimeUnit;
 
 @Slow
 @SolrTestCase.SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
-@LuceneTestCase.Nightly // nocommit, speed up and bridge
+@LuceneTestCase.Nightly // MRM TODO:, speed up and bridge
 public class ChaosMonkeyNothingIsSafeWithPullReplicasTest extends AbstractFullDistribZkTestBase {
   private static final int FAIL_TOLERANCE = 100;
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
index fcfbe77..23ea275 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
@@ -102,7 +102,7 @@ public class ChaosMonkeyShardSplitTest extends ShardSplitTest {
       };
       indexThread.start();
 
-      // nocommit
+      // MRM TODO:
       // kill the leader
       CloudJettyRunner leaderJetty = null;// shardToLeaderJetty.get("shard1");
       leaderJetty.jetty.stop();
diff --git a/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java b/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java
index 3ed117f..061653e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
 /**
  * Tests for {@link ClusterStateMockUtil}
  */
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class ClusterStateMockUtilTest extends SolrTestCaseJ4 {
 
   @Test
diff --git a/solr/core/src/test/org/apache/solr/cloud/CollectionStateZnodeTest.java b/solr/core/src/test/org/apache/solr/cloud/CollectionStateZnodeTest.java
index 57955b7..d0ef8ec 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CollectionStateZnodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CollectionStateZnodeTest.java
@@ -25,7 +25,7 @@ import org.junit.After;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-// nocommit - speed this up - waits for zkwriter to see its own state after delete
+// MRM TODO: - speed this up - waits for zkwriter to see its own state after delete
 public class CollectionStateZnodeTest extends SolrCloudTestCase {
 
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
index a14e975..a4d55ea 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
@@ -178,7 +178,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
           .build()
           .process(cluster.getSolrClient());
 
-      // nocommit cluster property watcher?
+      // MRM TODO: cluster property watcher?
       for (int i = 0; i < 15; i++) {
         Map m = cluster.getSolrClient().getZkStateReader().getClusterProperty(COLLECTION_DEF, null);
         if (m != null) break;
@@ -243,7 +243,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit - testing large numbers
+  @Ignore // MRM TODO: - testing large numbers
   public void testCreateAndDeleteCollection() throws Exception {
     String collectionName = "solrj_test";
     CollectionAdminResponse response = CollectionAdminRequest.createCollection(collectionName, "conf", 36, 18)
@@ -266,7 +266,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
     assertEquals(0, response.getStatus());
 
     assertFalse(zkClient().exists(ZkStateReader.COLLECTIONS_ZKNODE + "/" + collectionName));
-    // nocommit what happened to success?
+    // MRM TODO: what happened to success?
 //    assertTrue(response.toString(), response.isSuccess());
 //    Map<String,NamedList<Integer>> nodesStatus = response.getCollectionNodesStatus();
 //    assertEquals(TEST_NIGHTLY ? 4 : 2, nodesStatus.size());
@@ -315,7 +315,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   public void testCreateAndDeleteShard() throws Exception {
     // Create an implicit collection
     String collectionName = "solrj_implicit";
-    // nocommit 1, 1
+    // MRM TODO: 1, 1
     CollectionAdminResponse response
         = CollectionAdminRequest.createCollectionWithImplicitRouter(collectionName, "conf", "shardA,shardB", 3, 0, 0)
         .setMaxShardsPerNode(3)
@@ -325,7 +325,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
     assertTrue(response.isSuccess());
 
     Map<String, NamedList<Integer>> coresStatus = response.getCollectionCoresStatus();
-   // nocommit
+   // MRM TODO:
     // assertEquals(6, coresStatus.size());
 
     // Add a shard to the implicit collection
@@ -335,7 +335,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
     assertTrue(response.isSuccess());
     
     coresStatus = response.getCollectionCoresStatus();
-    // nocommit TODO
+    // MRM TODO: TODO
     //assertEquals(3, coresStatus.size());
     int replicaTlog = 0;
     int replicaNrt = 0;
@@ -359,7 +359,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void testCreateAndDeleteAlias() throws IOException, SolrServerException {
 
     final String collection = "aliasedCollection";
@@ -407,7 +407,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
 //      return true;
 //    });
 
-    // nocommit - just to remove from equation
+    // MRM TODO: - just to remove from equation
     // Test splitting using split.key
 //    response = CollectionAdminRequest.splitShard(collectionName)
 //        .setSplitKey("b!")
@@ -434,7 +434,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
     assertEquals(0, response.getStatus());
     assertTrue(response.isSuccess());
 
-    // nocommit - there has always been a race where this can be missed if its handled too fast
+    // MRM TODO: - there has always been a race where this can be missed if its handled too fast
 //    Map<String, NamedList<Integer>> coresStatus = response.getCollectionCoresStatus();
 //    assertEquals(1, coresStatus.size());
 
@@ -466,7 +466,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
         .process(cluster.getSolrClient());
 
     cluster.waitForActiveCollection(collectionName, 1, 3);
-    // nocommit - look at returned status not coming back
+    // MRM TODO: - look at returned status not coming back
 //    Replica newReplica = grabNewReplica(response, getCollectionState(collectionName));
 //    assertEquals(0, response.getStatus());
 //    assertTrue(response.isSuccess());
@@ -532,7 +532,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
     checkCollectionProperty(collectionName, propName, "false", 3000);
 
     // Check for removing value
-    // nocommit our kind of ugly handling I think, flakey
+    // MRM TODO: our kind of ugly handling I think, flakey
 //    CollectionAdminRequest.setCollectionProperty(collectionName, propName, null)
 //        .process(cluster.getSolrClient());
 //    checkCollectionProperty(collectionName, propName, null, 3000);
@@ -705,7 +705,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testDeleteAliasedCollection() throws Exception {
     CloudHttp2SolrClient solrClient = cluster.getSolrClient();
     String collectionName1 = "aliasedCollection1";
@@ -789,7 +789,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit - have to fix that race
+  @Ignore // MRM TODO: - have to fix that race
   public void testOverseerStatus() throws IOException, SolrServerException {
     CollectionAdminResponse response = new CollectionAdminRequest.OverseerStatus().process(cluster.getSolrClient());
     assertEquals(0, response.getStatus());
@@ -804,7 +804,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit whats status of preferred leader?
+  @Ignore // MRM TODO: whats status of preferred leader?
   public void testAddAndDeleteReplicaProp() throws InterruptedException, IOException, SolrServerException {
 
     final String collection = "replicaProperties";
@@ -830,7 +830,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit whats status of preferred leader?: Error from server at null: CMD did not return a response:balanceshardunique
+  @Ignore // MRM TODO: whats status of preferred leader?: Error from server at null: CMD did not return a response:balanceshardunique
   public void testBalanceShardUnique() throws IOException,
       SolrServerException, KeeperException, InterruptedException {
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/CreateCollectionCleanupTest.java b/solr/core/src/test/org/apache/solr/cloud/CreateCollectionCleanupTest.java
index 3f78321..28d9fbe 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CreateCollectionCleanupTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CreateCollectionCleanupTest.java
@@ -98,7 +98,7 @@ public class CreateCollectionCleanupTest extends SolrCloudTestCase {
     List<String> collections = CollectionAdminRequest.listCollections(cloudClient);
     System.out.println("collections:" + collections);
 
-    // nocommit why does this show up in list even with a long wait first? It has been removed, you can check the logs
+    // MRM TODO: why does this show up in list even with a long wait first? It has been removed, you can check the logs
 
     // Confirm using LIST that the collection does not exist
 //    assertThat("Failed collection is still in the clusterstate: " +  cluster.getSolrClient().getZkStateReader().getClusterState().getCollectionOrNull(collectionName),
@@ -128,7 +128,7 @@ public class CreateCollectionCleanupTest extends SolrCloudTestCase {
 
     assertThat(state.getKey(), is("failed"));
 
-    // nocommit why does this show up in list even with a long wait first? It has been removed, you can check the logs
+    // MRM TODO: why does this show up in list even with a long wait first? It has been removed, you can check the logs
 
     // Confirm using LIST that the collection does not exist
 //    assertThat("Failed collection is still in the clusterstate: " + cluster.getSolrClient().getClusterStateProvider().getClusterState().getCollectionOrNull(collectionName),
diff --git a/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java b/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
index 4f267e3..609346e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
@@ -56,7 +56,7 @@ import java.util.TimeZone;
  * Direct http tests of the CreateRoutedAlias functionality.
  */
 @SolrTestCaseJ4.SuppressSSL
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class CreateRoutedAliasTest extends SolrCloudTestCase {
 
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
index 9734bba..3bec335 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
@@ -34,7 +34,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Set;
 
-@Ignore // nocommit flakey
+@Ignore // MRM TODO: flakey
 public class DeleteNodeTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
index 92e73b1..b004a76 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
@@ -111,7 +111,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
     CoreStatus coreStatus = getCoreStatus(replica);
     Path dataDir = Paths.get(coreStatus.getDataDirectory());
 
-    // nocommit onlyIfDown disabled
+    // MRM TODO: onlyIfDown disabled
 //    Exception e = expectThrows(Exception.class, () -> {
 //      CollectionAdminRequest.deleteReplica(collectionName, shard.getName(), replica.getName())
 //          .setOnlyIfDown(true)
@@ -130,7 +130,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
         .process(cluster.getSolrClient());
     
     // the core should no longer have a watch collection state since it was removed    // the core should no longer have a watch collection state since it was removed
-// nocommit
+// MRM TODO:
     //    TimeOut timeOut = new TimeOut(15, TimeUnit.SECONDS, TimeSource.NANO_TIME);
 //    timeOut.waitFor("Waiting for core's watcher to be removed", () -> {
 //        final long postDeleteWatcherCount = countUnloadCoreOnDeletedWatchers
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java
index 0b1b530..4cefad7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java
@@ -132,7 +132,7 @@ public class DeleteShardTest extends SolrCloudTestCase {
     coreStatus = getCoreStatus(leader);
     assertEquals(2, getCollectionState(collection).getActiveSlices().size());
 
-    // nocommit
+    // MRM TODO:
     if (coreStatus != null && coreStatus.getResponse() != null) {
       assertFalse("Instance directory still exists", FileUtils.fileExists(coreStatus.getInstanceDirectory()));
       assertFalse("Data directory still exists", FileUtils.fileExists(coreStatus.getDataDirectory()));
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java b/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
index 8eb1dbd..4a03b4b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
@@ -64,8 +64,8 @@ import java.util.Map;
  */
 @Slow
 @SolrTestCase.SuppressSSL(bugUrl="https://issues.apache.org/jira/browse/SOLR-9182 - causes OOM")
-// nocommit finish compare query impl
-// nocommit this test is flakey
+// MRM TODO: finish compare query impl
+// MRM TODO: this test is flakey
 @LuceneTestCase.AwaitsFix(bugUrl = "FINISH ABOVE")
 public class DistribCursorPagingTest extends SolrCloudBridgeTestCase {
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
index 3b9b2ea..5f915aa 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
@@ -53,7 +53,7 @@ import static org.hamcrest.CoreMatchers.not;
 /**
  * Tests using fromIndex that points to a collection in SolrCloud mode.
  */
-@LuceneTestCase.Nightly // nocommit TODO debug
+@LuceneTestCase.Nightly // MRM TODO: TODO debug
 public class DistribJoinFromCollectionTest extends SolrCloudTestCase{
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java b/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
index 8247710..b41b925 100644
--- a/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * Super basic testing, no shard restarting or anything.
  */
 @Slow
-@LuceneTestCase.Nightly // nocommit flakey + using testConcurrentIndexing as custom test
+@LuceneTestCase.Nightly // MRM TODO: flakey + using testConcurrentIndexing as custom test
 public class FullSolrCloudDistribCmdsTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   private static final AtomicInteger NAME_COUNTER = new AtomicInteger(1);
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
index 061504d..47777db 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
@@ -186,7 +186,7 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
       assertNotNull(es);
       TestLeaderElectionContext context = new TestLeaderElectionContext(es.elector, shard, "collection1", nodeName, replica, es.zkController, runLeaderDelay, null);
       es.elector.setup(context);
-      // nocommit - we have to get the seq another way, now returns if become leader first try
+      // MRM TODO: - we have to get the seq another way, now returns if become leader first try
       //seq = es.elector.joinElection(context, false);
       electionDone = true;
       seqToThread.put(seq, this);
@@ -221,7 +221,7 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
       return seq;
     }
   }
-// nocommit
+// MRM TODO:
 //  @Test
 //  public void testBasic() throws Exception {
 //    LeaderElector elector = new LeaderElector(zkClient);
@@ -236,7 +236,7 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
 //        getLeaderUrl("collection1", "shard2"));
 //  }
 
-  // nocommit
+  // MRM TODO:
 //  @Test
 //  public void testCancelElection() throws Exception {
 //    LeaderElector first = new LeaderElector(zkClient);
@@ -275,7 +275,7 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
             ZkStateReader.getShardLeadersPath(collection, slice), null, null);
         ZkCoreNodeProps leaderProps = new ZkCoreNodeProps(
             ZkNodeProps.load(data));
-        // nocommit
+        // MRM TODO:
         Replica replica = new Replica("", leaderProps.getNodeProps().getProperties(), collection, slice, zkStateReader);
 
         return replica.getCoreUrl();
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
index a9f8cd2..9cbcf6e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
@@ -83,7 +83,7 @@ public class LeaderFailureAfterFreshStartTest extends AbstractFullDistribZkTestB
     fixShardCount(3);
   }
 
-  // nocommit no longer used
+  // MRM TODO: no longer used
   protected String getCloudSolrConfig() {
     return "solrconfig-tlog.xml";
   }
diff --git a/solr/core/src/test/org/apache/solr/cloud/MetricsHistoryIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/MetricsHistoryIntegrationTest.java
index 2e74732..7008569 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MetricsHistoryIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MetricsHistoryIntegrationTest.java
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
 @LuceneTestCase.Slow
 @LuceneTestCase.Nightly
 @LogLevel("org.apache.solr.handler.admin=DEBUG")
-@Ignore // nocommit debug, I think it takes a bit of time for metrics to be populated
+@Ignore // MRM TODO: debug, I think it takes a bit of time for metrics to be populated
 public class MetricsHistoryIntegrationTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java b/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java
index 718c39d..a529205 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java
@@ -45,7 +45,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Slow
-@Ignore // nocommit - this feature needs a little work
+@Ignore // MRM TODO: - this feature needs a little work
 public class MissingSegmentRecoveryTest extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -84,7 +84,9 @@ public class MissingSegmentRecoveryTest extends SolrCloudTestCase {
     DocCollection state = getCollectionState(collection);
     leader = state.getLeader("s1");
     replica = getRandomReplica(state.getSlice("s1"), (r) -> leader != r);
-    log.info("leader={} replicaToCorrupt={}", leader.getName(), replica.getName());
+    if (log.isInfoEnabled()) {
+      log.info("leader={} replicaToCorrupt={}", leader.getName(), replica.getName());
+    }
   }
   
   @After
diff --git a/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java
index 189ed1f..681f68f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java
@@ -112,7 +112,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
     CloudHttp2SolrClient cloudClient = cluster.getSolrClient();
 
     // random create tlog or pull type replicas with nrt
-    boolean isTlog = false; // nocommit random().nextBoolean();
+    boolean isTlog = false; // MRM TODO: random().nextBoolean();
     CollectionAdminRequest.Create create = CollectionAdminRequest.createCollection(coll, "conf1", 2, isTlog ? 2 : 1, isTlog ? 1 : 0, 0);
 
     cloudClient.request(create);
@@ -173,7 +173,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
 //    assertEquals("should be one more core on target node!", targetNumCores + 1, getNumOfCores(cloudClient, targetNode, coll, replica.getType().name()));
 
 
-    // nocommit
+    // MRM TODO:
 //    moveReplica = createMoveReplicaRequest(coll, replica, targetNode, shardId);
 //    moveReplica.setInPlaceMove(inPlaceMove);
 //    moveReplica.process(cloudClient);
diff --git a/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java b/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
index 0994a7b..17d47b7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
@@ -36,7 +36,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore // nocommit - failing on nested things .. hmmm?
+@Ignore // MRM TODO: - failing on nested things .. hmmm?
 public class NestedShardedAtomicUpdateTest extends SolrCloudBridgeTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -56,7 +56,7 @@ public class NestedShardedAtomicUpdateTest extends SolrCloudBridgeTestCase {
   public void test() throws Exception {
     // this test is not correct - we currently should pass when an update succeeds locally and we don't forward to a leader
     // sendWrongRouteParam();
-    // nocommit - fails with NPE in test
+    // MRM TODO: - fails with NPE in test
     doNestedInplaceUpdateTest();
     doRootShardRoutingTest();
   }
@@ -171,7 +171,7 @@ public class NestedShardedAtomicUpdateTest extends SolrCloudBridgeTestCase {
       assertEquals(1, grandChildren.size());
       SolrDocument grandChild = grandChildren.get(0);
 
-      // nocommit this is failing
+      // MRM TODO: this is failing
       //assertEquals(grandChild.toString(), fieldValue, grandChild.getFirstValue("inplace_updatable_int"));
 
       assertEquals("3", grandChild.getFieldValue("id"));
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverriddenZkACLAndCredentialsProvidersTest.java b/solr/core/src/test/org/apache/solr/cloud/OverriddenZkACLAndCredentialsProvidersTest.java
index db24893..fb61edf 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverriddenZkACLAndCredentialsProvidersTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverriddenZkACLAndCredentialsProvidersTest.java
@@ -42,7 +42,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class OverriddenZkACLAndCredentialsProvidersTest extends SolrTestCaseJ4 {
   
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerStatusTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerStatusTest.java
index b086736..cb779ff 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerStatusTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerStatusTest.java
@@ -27,7 +27,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit needs update
+@Ignore // MRM TODO: needs update
 public class OverseerStatusTest extends SolrCloudTestCase {
 
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index 5d979c7..4aed7da 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -1396,7 +1396,7 @@ public class OverseerTest extends SolrTestCaseJ4 {
     }
   }
 
-//  @Test nocommit
+//  @Test MRM TODO:
 //  public void testLatchWatcher() throws InterruptedException {
 //    OverseerTaskQueue.LatchWatcher latch1 = new OverseerTaskQueue.LatchWatcher();
 //    long before = System.nanoTime();
diff --git a/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java b/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
index e02c6f0..ec63404 100644
--- a/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
@@ -194,7 +194,7 @@ public class PeerSyncReplicationTest extends SolrCloudBridgeTestCase {
       assertTrue("REPLICATION.peerSync.errors present", metrics.containsKey("REPLICATION.peerSync.errors"));
 
       Counter counter = (Counter)metrics.get("REPLICATION.peerSync.errors");
-      // nocommit
+      // MRM TODO:
       //assertEquals(0L, counter.getCount());
       success = true;
     } finally {
diff --git a/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java
index b86f07b..c0372f5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java
@@ -55,7 +55,7 @@ import org.junit.Test;
  *
  */
 @LogLevel("org.apache.solr.cloud.api.collections.ReindexCollectionCmd=DEBUG")
-@LuceneTestCase.Nightly // nocommit speed up
+@LuceneTestCase.Nightly // MRM TODO: speed up
 public class ReindexCollectionTest extends SolrCloudTestCase {
 
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java b/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java
index d14c0ca..cb3fae5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java
@@ -43,7 +43,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-@LuceneTestCase.AwaitsFix(bugUrl = "nocommit - can leak a Solr a reasonable percent - cmd needs polish/finish anyway")
+@LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - can leak a Solr a reasonable percent - cmd needs polish/finish anyway")
 public class ReplaceNodeTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -107,7 +107,7 @@ public class ReplaceNodeTest extends SolrCloudTestCase {
       assertFalse(rsp.getResponse().toString(), rsp.getRequestStatus() == RequestStatusState.FAILED);
       Thread.sleep(250);
     }
-  // nocommit
+  // MRM TODO:
     //  assertTrue(success);
     Http2SolrClient coreclient = cloudClient.getHttpClient();
 
@@ -180,7 +180,7 @@ public class ReplaceNodeTest extends SolrCloudTestCase {
     //    try {
 //      CollectionAdminRequest.deleteCollection(coll).process(cluster.getSolrClient());
 //    } catch (BaseHttpSolrClient.RemoteSolrException e) {
-//      // nocommit fails with Error from server at null: Cannot unload non-existent core [replacenodetest_coll_shard4_replica_n27]}
+//      // MRM TODO: fails with Error from server at null: Cannot unload non-existent core [replacenodetest_coll_shard4_replica_n27]}
 //    }
   }
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/RollingRestartTest.java b/solr/core/src/test/org/apache/solr/cloud/RollingRestartTest.java
index 529072c..b21a432 100644
--- a/solr/core/src/test/org/apache/solr/cloud/RollingRestartTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/RollingRestartTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@LuceneTestCase.Nightly // nocommit - the overseer priority test is disabled because that feature is disabled
+@LuceneTestCase.Nightly // MRM TODO: - the overseer priority test is disabled because that feature is disabled
 public class RollingRestartTest extends AbstractFullDistribZkTestBase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java b/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
index a7e6d5d..3d107e9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
@@ -103,7 +103,7 @@ public class ShardRoutingTest extends SolrCloudBridgeTestCase {
   }
 
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void doHashingTest() throws Exception {
     log.info("### STARTING doHashingTest");
     assertEquals(4, cloudClient.getZkStateReader().getClusterState().getCollection(DEFAULT_COLLECTION).getSlices().size());
@@ -246,7 +246,7 @@ public class ShardRoutingTest extends SolrCloudBridgeTestCase {
       client.add(SolrTestCaseJ4.sdoc("id", "b!doc1"));
       nEnd = getNumRequests();
 
-      // nocommit - can be 9?
+      // MRM TODO: - can be 9?
       // assertEquals(3, nEnd - nStart);   // orig request + replica forwards to leader, which forward back to replica.
 
       JettySolrRunner leader2 = cluster.getShardLeaderJetty(DEFAULT_COLLECTION, bucket2);
@@ -289,7 +289,7 @@ public class ShardRoutingTest extends SolrCloudBridgeTestCase {
   }
 
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void doAtomicUpdate() throws Exception {
     log.info("### STARTING doAtomicUpdate");
     int nClients = clients.size();
diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java b/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java
index 79c5836..1e0bed6 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java
@@ -783,7 +783,7 @@ public abstract class SolrCloudBridgeTestCase extends SolrCloudTestCase {
       long leaderCoreStartTime = statusResp.getStartTime(coreName).getTime();
 
       // send reload command for the collection
-      log.info("Sending RELOAD command for "+testCollectionName);
+      log.info("Sending RELOAD command for {}", testCollectionName);
       ModifiableSolrParams params = new ModifiableSolrParams();
       params.set("action", CollectionParams.CollectionAction.RELOAD.toString());
       params.set("name", testCollectionName);
diff --git a/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java b/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java
index ed89ba2..6b7550e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
 /**
  *
  */
-@Ignore // nocommit not working since starting to straighten out some more overseer action
+@Ignore // MRM TODO: not working since starting to straighten out some more overseer action
 public class SystemCollectionCompatTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java b/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java
index fe2af01..a28ea40 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * Test of the MiniSolrCloudCluster functionality with authentication enabled.
  */
 @LuceneTestCase.Slow
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class TestAuthenticationFramework extends SolrCloudTestCase {
   
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
index 7017fe8..a18b8f9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
@@ -347,7 +347,7 @@ public class TestConfigSetsAPI extends SolrTestCaseJ4 {
   }
   
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testUploadWithScriptUpdateProcessor() throws Exception {
     Assume.assumeNotNull((new ScriptEngineManager()).getEngineByExtension("js"));
     Assume.assumeNotNull((new ScriptEngineManager()).getEngineByName("JavaScript"));
@@ -388,7 +388,7 @@ public class TestConfigSetsAPI extends SolrTestCaseJ4 {
 
     assertThat(thrown.getMessage(), containsString("Underlying core creation failed"));
 
-    // nocommit - work out using newcollection3 and dealing with it finding the collection after first create fails - instead of using newCollection4
+    // MRM TODO: - work out using newcollection3 and dealing with it finding the collection after first create fails - instead of using newCollection4
     // Authorization on
     final String trustedSuffix = "-trusted";
     protectConfigsHandler();
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java b/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
index 3d1f345..6fb3cdb 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
@@ -36,7 +36,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-@Ignore // nocommit - finish getRandomJettyLeader
+@Ignore // MRM TODO: - finish getRandomJettyLeader
 public class TestDistribDocBasedVersion extends SolrCloudBridgeTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -97,7 +97,7 @@ public class TestDistribDocBasedVersion extends SolrCloudBridgeTestCase {
     handle.clear();
     handle.put("timestamp", SKIPVAL);
 
-      // nocommit flakey?
+      // MRM TODO: flakey?
       // doTestDocVersions();
     doTestHardFail();
     commit(); // work arround SOLR-5628
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestExactSharedStatsCacheCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestExactSharedStatsCacheCloud.java
index 14b53cc..a2a4281 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestExactSharedStatsCacheCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestExactSharedStatsCacheCloud.java
@@ -22,7 +22,7 @@ import org.junit.Ignore;
 /**
  *
  */
-@Ignore // nocommit - use this test to work out parallel commits waiting for flushed updates
+@Ignore // MRM TODO: - use this test to work out parallel commits waiting for flushed updates
 public class TestExactSharedStatsCacheCloud extends TestBaseStatsCacheCloud {
   @Override
   protected boolean assertSameScores() {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestExactStatsCacheCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestExactStatsCacheCloud.java
index ed4f0d9..47315ff 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestExactStatsCacheCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestExactStatsCacheCloud.java
@@ -24,7 +24,7 @@ import org.junit.Ignore;
  *
  */
 @LogLevel("org.apache.solr.search=DEBUG")
-@Ignore // nocommit - use this test to work out parallel commits waiting for flushed updates
+@Ignore // MRM TODO: - use this test to work out parallel commits waiting for flushed updates
 public class TestExactStatsCacheCloud extends TestBaseStatsCacheCloud {
   @Override
   protected boolean assertSameScores() {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestLRUStatsCacheCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestLRUStatsCacheCloud.java
index 8bdadd9..9dfbe25 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestLRUStatsCacheCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestLRUStatsCacheCloud.java
@@ -23,7 +23,7 @@ import org.junit.Ignore;
  *
  */
 @Ignore
-// nocommit - use this test to work out parallel commits waiting for flushed updates@Ignore // nocommit - use this test to work out parallel commits waiting for flushed updates
+// MRM TODO: - use this test to work out parallel commits waiting for flushed updates@Ignore // MRM TODO: - use this test to work out parallel commits waiting for flushed updates
 public class TestLRUStatsCacheCloud extends TestBaseStatsCacheCloud {
   @Override
   protected boolean assertSameScores() {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java
index 1613693..1102992 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java
@@ -40,7 +40,7 @@ import java.lang.invoke.MethodHandles;
 /**
  * See SOLR-9504
  */
-@Ignore // nocommit debug, we don't get a leader till the addReplica fails - is it hanging onto a higher leader ephem election node?
+@Ignore // MRM TODO: debug, we don't get a leader till the addReplica fails - is it hanging onto a higher leader ephem election node?
 public class TestLeaderElectionWithEmptyReplica extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -106,7 +106,9 @@ public class TestLeaderElectionWithEmptyReplica extends SolrCloudTestCase {
       Http2SolrClient client = new Http2SolrClient.Builder(replica.getCoreUrl())
           .withHttpClient(cloudClient.getHttpClient()).build();
       QueryResponse response = client.query(new SolrQuery("q", "*:*", "distrib", "false"));
-      log.info("Found numFound={} on replica: {}", response.getResults().getNumFound(), replica.getCoreUrl());
+      if (log.isInfoEnabled()) {
+        log.info("Found numFound={} on replica: {}", response.getResults().getNumFound(), replica.getCoreUrl());
+      }
       if (numFound == Long.MIN_VALUE)  {
         numFound = response.getResults().getNumFound();
       } else  {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionZkExpiry.java b/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionZkExpiry.java
index 5559c16..5e67079 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionZkExpiry.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionZkExpiry.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestLeaderElectionZkExpiry extends SolrTestCaseJ4 {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java b/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
index 6319c12..9d98669 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
@@ -63,7 +63,7 @@ import java.util.List;
  *
  * @see TestSSLRandomization
  */
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class TestMiniSolrCloudClusterSSL extends SolrTestCaseJ4 {
 
   private static final SSLContext DEFAULT_SSL_CONTEXT;
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestOnReconnectListenerSupport.java b/solr/core/src/test/org/apache/solr/cloud/TestOnReconnectListenerSupport.java
index 8998a95..759063c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestOnReconnectListenerSupport.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestOnReconnectListenerSupport.java
@@ -86,7 +86,9 @@ public class TestOnReconnectListenerSupport extends SolrCloudBridgeTestCase {
       log.info("listener:" + listener.getClass().getSuperclass().getName());
       if (listener instanceof ZkIndexSchemaReader) {
         ZkIndexSchemaReader reader = (ZkIndexSchemaReader)listener;
-        log.info("leadercoreid:" + leaderCoreId + " against:" + reader.getUniqueCoreId());
+        if (log.isInfoEnabled()) {
+          log.info("leadercoreid={} against={}", leaderCoreId, reader.getUniqueCoreId());
+        }
         if (leaderCoreId.equals(reader.getUniqueCoreId())) {
           expectedListener = reader;
           break;
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
index 2ddc0a0..51f5957 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
@@ -56,7 +56,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SolrTestCase.SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestPullReplicaErrorHandling extends SolrCloudTestCase {
   
   private final static int REPLICATION_TIMEOUT_SECS = 10;
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestQueryingOnDownCollection.java b/solr/core/src/test/org/apache/solr/cloud/TestQueryingOnDownCollection.java
index 5573ebb..0b57ffe 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestQueryingOnDownCollection.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestQueryingOnDownCollection.java
@@ -41,7 +41,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore // nocommit - manual down replicas
+@Ignore // MRM TODO: - manual down replicas
 public class TestQueryingOnDownCollection extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
index b49bbc2..4633b58 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * @see TestMiniSolrCloudClusterSSL
  */
 @RandomizeSSL(ssl=0.5,reason="frequent SSL usage to make test worth while")
-@LuceneTestCase.Nightly // nocommit check
+@LuceneTestCase.Nightly // MRM TODO: check
 public class TestSSLRandomization extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSkipOverseerOperations.java b/solr/core/src/test/org/apache/solr/cloud/TestSkipOverseerOperations.java
index cd24ae3..b2b8b04 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSkipOverseerOperations.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSkipOverseerOperations.java
@@ -36,7 +36,7 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit need to fix stats
+@Ignore // MRM TODO: need to fix stats
 public class TestSkipOverseerOperations extends SolrCloudTestCase {
 
   @Before
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java
index 408b6d1..ef05a72 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java
@@ -60,7 +60,7 @@ import static org.apache.solr.security.HttpParamDelegationTokenPlugin.USER_PARAM
  * Test the delegation token support in the {@link org.apache.solr.security.KerberosPlugin}.
  */
 @LuceneTestCase.Slow
-@Ignore // nocommit - can leak, flakey
+@Ignore // MRM TODO: - can leak, flakey
 public class TestSolrCloudWithDelegationTokens extends SolrTestCaseJ4 {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   private static final int NUM_SERVERS = 2;
@@ -446,7 +446,7 @@ public class TestSolrCloudWithDelegationTokens extends SolrTestCaseJ4 {
    * Test HttpSolrServer's delegation token support for Update Requests
    */
   @Test
-  @Ignore // nocommit need to make proxy call compat with security
+  @Ignore // MRM TODO: need to make proxy call compat with security
   public void testDelegationTokenSolrClientWithUpdateRequests() throws Exception {
     String collectionName = "testDelegationTokensWithUpdate";
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java
index 8df46f2..2878f76 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java
@@ -37,7 +37,7 @@ import java.nio.charset.StandardCharsets;
  * Test 5 nodes Solr cluster with Kerberos plugin enabled.
  */
 @LuceneTestCase.Slow
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestSolrCloudWithKerberosAlt extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
index fcab778..d530b77 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
@@ -301,7 +301,7 @@ public class TestSolrCloudWithSecureImpersonation extends SolrTestCaseJ4 {
   }
 
   @Test
-  @Ignore // nocommit HttpSolrCall#remoteQuery needs to handle this
+  @Ignore // MRM TODO: HttpSolrCall#remoteQuery needs to handle this
   public void testForwarding() throws Exception {
     String collectionName = "forwardingCollection";
     miniCluster.uploadConfigSet(SolrTestUtil.TEST_PATH().resolve("collection1/conf"), "conf1");
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
index d90de1e..616c58f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  */
 @Slow
 @SolrTestCase.SuppressSSL(bugUrl="SSL overhead seems to cause OutOfMemory when stress testing")
-@Ignore // nocommit - looking at how this has been working with parallel dist updates
+@Ignore // MRM TODO: - looking at how this has been working with parallel dist updates
 public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -360,7 +360,7 @@ public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
       }
       
     }
-    // nocommit - now that we do parallel updates, some of these assumptions are off - look into this
+    // MRM TODO: - now that we do parallel updates, some of these assumptions are off - look into this
     // assertEquals("Some docs had errors -- check logs", 0, incorrectDocs);
   }
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
index 56ab457..8abadea 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
@@ -75,7 +75,7 @@ import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
 
 @Slow
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestTlogReplica extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -312,7 +312,7 @@ public class TestTlogReplica extends SolrCloudTestCase {
     doReplaceLeader(true);
   }
 
-  // nocommit debug
+  // MRM TODO: debug
   @Ignore
   public void testKillLeader() throws Exception {
     doReplaceLeader(false);
@@ -655,7 +655,7 @@ public class TestTlogReplica extends SolrCloudTestCase {
     assertFalse("Doc1 is deleted but it's still exist", successs);
   }
 
-  // nocommit debug
+  // MRM TODO: debug
   @Ignore
   public void testBasicLeaderElection() throws Exception {
     createAndWaitForCollection(1,0,2,0);
@@ -700,7 +700,7 @@ public class TestTlogReplica extends SolrCloudTestCase {
     );
   }
 
-  // nocommit debug
+  // MRM TODO: debug
   @Ignore
   public void testOutOfOrderDBQWithInPlaceUpdates() throws Exception {
     createAndWaitForCollection(1,0,2,0);
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
index 42a89a4..1dec77b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
@@ -962,7 +962,7 @@ public class TestTolerantUpdateProcessorCloud extends SolrCloudTestCase {
       response.getResponseHeader().get("errors");
     
     assertNotNull(assertionMsgPrefix + ": Null errors: " + response.toString(), errors);
-// nocommit
+// MRM TODO:
 //    assertEquals(assertionMsgPrefix + ": Num error ids: " + errors.toString(),
 //                 expectedErrs.length, errors.size());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java
index 56aa313..f39f49e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java
@@ -270,7 +270,7 @@ public class TestTolerantUpdateProcessorRandomCloud extends SolrCloudTestCase {
 
       assertEquals("post update commit failed?", 0, CLOUD_CLIENT.commit().getStatus());
 
-      // nocommit - see nocommit below
+      // MRM TODO: - see MRM TODO: below
 //      for (int j = 0; j < 100; j++) {
 //        if (expectedDocIds.cardinality() == countDocs(CLOUD_CLIENT)) {
 //          break;
@@ -293,7 +293,7 @@ public class TestTolerantUpdateProcessorRandomCloud extends SolrCloudTestCase {
         final boolean actualBit = actualDocIds.get(b);
         log.error("bit #{} mismatch: expected {} BUT actual {}", b, expectedBit, actualBit);
       }
-      // nocommit - fails, investigate
+      // MRM TODO: - fails, investigate
 //      assertEquals(x.cardinality() + " mismatched bits",
 //                   expectedDocIds.cardinality(), actualDocIds.cardinality());
     }
diff --git a/solr/core/src/test/org/apache/solr/cloud/VMParamsZkACLAndCredentialsProvidersTest.java b/solr/core/src/test/org/apache/solr/cloud/VMParamsZkACLAndCredentialsProvidersTest.java
index d075d28..bdf3549 100644
--- a/solr/core/src/test/org/apache/solr/cloud/VMParamsZkACLAndCredentialsProvidersTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/VMParamsZkACLAndCredentialsProvidersTest.java
@@ -36,7 +36,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class VMParamsZkACLAndCredentialsProvidersTest extends SolrTestCaseJ4 {
   
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/cloud/ZkCLITest.java b/solr/core/src/test/org/apache/solr/cloud/ZkCLITest.java
index 6b774a0..59fc81e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkCLITest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkCLITest.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
 
 // TODO: This test would be a lot faster if it used a solrhome with fewer config
 // files - there are a lot of them to upload
-@Ignore // nocommit come back to this
+@Ignore // MRM TODO: come back to this
 public class ZkCLITest extends SolrTestCaseJ4 {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java b/solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java
index c40679a..42ef602 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java
@@ -239,7 +239,7 @@ public class ZkControllerTest extends SolrTestCaseJ4 {
 
   @Slow
   @LogLevel(value = "org.apache.solr.cloud=DEBUG;org.apache.solr.cloud.overseer=DEBUG")
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testPublishAndWaitForDownStates() throws Exception  {
 
     /*
@@ -269,7 +269,7 @@ public class ZkControllerTest extends SolrTestCaseJ4 {
           CoreDescriptor descriptor = new CoreDescriptor(collectionName, SolrTestUtil.TEST_PATH(), Collections.emptyMap(), new Properties(), zkControllerRef.get());
           // non-existent coreNodeName, this will cause zkController.publishAndWaitForDownStates to wait indefinitely
           // when using coreNodeName but usage of core name alone will return immediately
-          // nocommit
+          // MRM TODO:
           //descriptor.getCloudDescriptor().setCoreNodeName("core_node0");
           return Collections.singletonList(descriptor);
         }
diff --git a/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java b/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
index 4ac5845..bb3a0a5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
 
 import java.lang.invoke.MethodHandles;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class ZkFailoverTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java
index 12d4dee..887bb37 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java
@@ -159,7 +159,7 @@ public abstract class AbstractCloudBackupRestoreTestCase extends SolrCloudTestCa
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testRestoreFailure() throws Exception {
     setTestSuffix("testfailure");
     replFactor = TestUtil.nextInt(random(), 1, 2);
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/AsyncCallRequestStatusResponseTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/AsyncCallRequestStatusResponseTest.java
index e3b7361..40d1d6b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/AsyncCallRequestStatusResponseTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/AsyncCallRequestStatusResponseTest.java
@@ -29,7 +29,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class AsyncCallRequestStatusResponseTest extends SolrCloudTestCase {
 
   private static boolean oldResponseEntries;
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java
index afa021f..051f6e9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java
@@ -34,7 +34,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 @Slow
-@LuceneTestCase.AwaitsFix(bugUrl = "nocommit - relying on maxshardspernode enforcement, just delete this test")
+@LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - relying on maxshardspernode enforcement, just delete this test")
 public class CollectionTooManyReplicasTest extends SolrCloudTestCase {
 
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java
index 4bdba39..207fe55 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java
@@ -79,7 +79,7 @@ public class CollectionsAPIAsyncDistributedZkTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testSolrJAPICalls() throws Exception {
 
     final CloudHttp2SolrClient client = cluster.getSolrClient();
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistClusterPerZkTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistClusterPerZkTest.java
index 043747a..d72ee55 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistClusterPerZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistClusterPerZkTest.java
@@ -130,7 +130,7 @@ public class CollectionsAPIDistClusterPerZkTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit we can speed this up, TJP ~ WIP: fails
+  @Ignore // MRM TODO: we can speed this up, TJP ~ WIP: fails
   public void testCreateShouldFailOnExistingCore() throws Exception {
     assertEquals(0, CollectionAdminRequest.createCollection("halfcollectionblocker", "conf", 1, 1)
         .setCreateNodeSet("")
@@ -228,7 +228,7 @@ public class CollectionsAPIDistClusterPerZkTest extends SolrCloudTestCase {
   //28-June-2018 @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028")
   // See: https://issues.apache.org/jira/browse/SOLR-12028 Tests cannot remove files on Windows machines occasionally
   // commented out on: 24-Dec-2018   @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // added 09-Aug-2018 SOLR-12028
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void testCollectionsAPI() throws Exception {
 
     // create new collections rapid fire
@@ -457,7 +457,7 @@ public class CollectionsAPIDistClusterPerZkTest extends SolrCloudTestCase {
         .process(cluster.getSolrClient());
 
     newReplica = grabNewReplica(response, getCollectionState(collectionName));
-    // nocommit do we really want to support this anymore?
+    // MRM TODO: do we really want to support this anymore?
     // assertEquals("'core' should be 'propertyDotName' " + newReplica.getName(), "propertyDotName", newReplica.getName());
   }
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java
index ef6f102..de03277 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java
@@ -156,7 +156,7 @@ public class CollectionsAPIDistributedZkTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit - look at, prob some race, parallel commit
+  @Ignore // MRM TODO: - look at, prob some race, parallel commit
   public void testReadOnlyCollection() throws Exception {
     int NUM_DOCS = 10;
     final String collectionName = "readOnlyTest";
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CustomCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CustomCollectionTest.java
index 077e664..62ef1f2 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CustomCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CustomCollectionTest.java
@@ -40,7 +40,7 @@ import static org.apache.solr.common.params.ShardParams._ROUTE_;
 /**
  * Tests the Custom Sharding API.
  */
-@LuceneTestCase.Nightly // nocommit look into this test sometimes being very slow to finish
+@LuceneTestCase.Nightly // MRM TODO: look into this test sometimes being very slow to finish
 public class CustomCollectionTest extends SolrCloudTestCase {
 
   private static final int NODE_COUNT = 4;
@@ -90,7 +90,7 @@ public class CustomCollectionTest extends SolrCloudTestCase {
     assertEquals(0, cluster.getSolrClient().query(collection, new SolrQuery("*:*").setParam(_ROUTE_, "b")).getResults().getNumFound());
     assertEquals(3, cluster.getSolrClient().query(collection, new SolrQuery("*:*").setParam(_ROUTE_, "a")).getResults().getNumFound());
 
-    // nocommit: I think this combo can still stall and have issues
+    // MRM TODO:: I think this combo can still stall and have issues
     cluster.getSolrClient().deleteByQuery(collection, "*:*");
     cluster.getSolrClient().commit(collection, true, true);
     assertEquals(0, cluster.getSolrClient().query(collection, new SolrQuery("*:*")).getResults().getNumFound());
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
index da60c6b..227de10 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
@@ -460,7 +460,9 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
       // indexed are available in SolrCloud and if the split succeeded then all replicas of the sub-shard
       // must be consistent (i.e. have same numdocs)
 
-      log.info("Shard split request state is {}", splitStatus == null ? "unknown" : splitStatus.getKey());
+      if (log.isInfoEnabled()) {
+        log.info("Shard split request state is {}", splitStatus == null ? "unknown" : splitStatus.getKey());
+      }
       stop.set(true);
       monkeyThread.join();
       Set<String> addFails = new HashSet<>();
@@ -599,14 +601,14 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
 
   @Test
   @ShardsFixed(num = 3)
-  @Ignore // nocommit - need to fix state updates for rules
+  @Ignore // MRM TODO: - need to fix state updates for rules
   public void testSplitShardWithRule() throws Exception {
     doSplitShardWithRule(SolrIndexSplitter.SplitMethod.REWRITE);
   }
 
   @Test
   @LuceneTestCase.Nightly
-  @Ignore // nocommit - need to fix state updates for rules
+  @Ignore // MRM TODO: - need to fix state updates for rules
   public void testSplitShardWithRuleLink() throws Exception {
     doSplitShardWithRule(SolrIndexSplitter.SplitMethod.LINK);
   }
@@ -625,7 +627,7 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
     response = splitShardRequest.process(cloudClient);
     assertEquals(String.valueOf(response.getErrorMessages()), 0, response.getStatus());
 
-    // nocommit
+    // MRM TODO:
     //cluster.waitForActiveCollection(collectionName, 2, 2);
   }
 
@@ -693,7 +695,9 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
     int numReplicas = shard1.getReplicas().size();
 
     clusterState = cloudClient.getZkStateReader().getClusterState();
-    log.debug("-- COLLECTION: {}", clusterState.getCollection(DEFAULT_COLLECTION));
+    if (log.isDebugEnabled()) {
+      log.debug("-- COLLECTION: {}", clusterState.getCollection(DEFAULT_COLLECTION));
+    }
     del("*:*");
     for (int id = 0; id <= 100; id++) {
       String shardKey = "" + (char)('a' + (id % 26)); // See comment in ShardRoutingTest for hash distribution
@@ -705,7 +709,7 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
       Random random = random();
       int max = LuceneTestCase.atLeast(random, 401);
       int sleep = LuceneTestCase.atLeast(random, 25);
-      log.info("SHARDSPLITTEST: Going to add " + max + " number of docs at 1 doc per " + sleep + "ms");
+      log.info("SHARDSPLITTEST: Going to add {} number of docs at 1 doc per {}ms", max, sleep);
       Set<String> deleted = new HashSet<>();
       for (int id = 101; id < max; id++) {
         try {
@@ -742,7 +746,7 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
           if (e.code() != 500)  {
             throw e;
           }
-          log.error("SPLITSHARD failed. " + (i < 2 ? " Retring split" : ""), e);
+          log.error("SPLITSHARD failed. {}", (i < 2 ? " Retring split" : ""), e);
           if (i == 2) {
             fail("SPLITSHARD was not successful even after three tries");
           }
@@ -861,7 +865,9 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
 
     for (int i = 0; i < docCounts.length; i++) {
       int docCount = docCounts[i];
-      log.info("Shard {} docCount = {}", "shard1_" + i, docCount);
+      if (log.isInfoEnabled()) {
+        log.info("Shard {} docCount = {}", "shard1_" + i, docCount);
+      }
     }
     log.info("Route key doc count = {}", splitKeyDocCount);
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/SplitByPrefixTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/SplitByPrefixTest.java
index abdd425..75658dc 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/SplitByPrefixTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/SplitByPrefixTest.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  *  This class tests higher level SPLITSHARD functionality when splitByPrefix is specified.
  *  See SplitHandlerTest for random tests of lower-level split selection logic.
  */
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class SplitByPrefixTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -153,7 +153,7 @@ public class SplitByPrefixTest extends SolrCloudTestCase {
   public void doTest() throws IOException, SolrServerException {
     // SPLITSHARD is recommended to be run in async mode, so we default to that.
     // Also, autoscale triggers use async with splits as well.
-    boolean doAsync = true; // nocommit random().nextBoolean();
+    boolean doAsync = true; // MRM TODO: random().nextBoolean();
 
     CollectionAdminRequest
         .createCollection(COLLECTION_NAME, "conf", 1, 1)
@@ -173,7 +173,6 @@ public class SplitByPrefixTest extends SolrCloudTestCase {
       splitShard.setAsyncId("SPLIT1");
     }
     splitShard.process(client);
-    //cluster.waitForActiveCollection(COLLECTION_NAME, 2, 2); // nocommit
 
     List<Prefix> prefixes = findPrefixes(20, 0, 0x00ffffff);
     List<Prefix> uniquePrefixes = removeDups(prefixes);
@@ -208,7 +207,7 @@ public class SplitByPrefixTest extends SolrCloudTestCase {
     Slice slice1 = slices1.iterator().next();
     Slice slice2 = slices2.iterator().next();
 
-    // nocommit - work this out
+    // MRM TODO: - work this out
 //    assertTrue(slices1.size() == 1 && slices2.size() == 1);
 //    assertTrue(slice1 != slice2);
 //
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
index 2c8259b..03e48d4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
@@ -100,7 +100,7 @@ public class TestCollectionAPI extends ReplicaPropertiesBase {
     // clusterStatusRolesTest();
 
 
-    // nocommit debug
+    // MRM TODO: debug
 //    replicaPropTest();
 
     // clusterStatusZNodeVersion(); maybe this relies on stateformat=1?
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java
index 7f36f4a..8a001e0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java
@@ -42,7 +42,7 @@ import org.junit.Test;
  * Solr backup/restore still requires a "shared" file-system. Its just that in this case such file-system would be
  * exposed via local file-system API.
  */
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class TestLocalFSCloudBackupRestore extends AbstractCloudBackupRestoreTestCase {
   private static String backupLocation;
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestReplicaProperties.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestReplicaProperties.java
index b5ef0b0..c76cd7e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestReplicaProperties.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestReplicaProperties.java
@@ -38,7 +38,7 @@
 //import org.junit.Test;
 //
 //@Slow
-//@Ignore // nocommit debug
+//@Ignore // MRM TODO: debug
 //public class TestReplicaProperties extends ReplicaPropertiesBase {
 //
 //  public static final String COLLECTION_NAME = "testcollection";
diff --git a/solr/core/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java b/solr/core/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java
index 64e9b86..003d848 100644
--- a/solr/core/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java
@@ -31,7 +31,7 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 
-@Ignore // nocommit Nightly and debug
+@Ignore // MRM TODO: Nightly and debug
 @Nightly
 public class HDFSCollectionsAPITest extends SolrCloudTestCase {
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java b/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java
index 132e246..fbf5ebb 100644
--- a/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java
@@ -38,7 +38,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-// nocommit - i have a workaround for this threadleak
+// MRM TODO: - i have a workaround for this threadleak
 @Ignore
 @LuceneTestCase.Nightly
 public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
diff --git a/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java b/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
index 4e4cfe4..7ba544d 100644
--- a/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
+++ b/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
@@ -39,7 +39,7 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.util.HashMap;
 
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class BlobRepositoryCloudTest extends SolrCloudTestCase {
 
   public static final Path TEST_PATH = SolrTestUtil.getFile("solr/configsets").toPath();
diff --git a/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java b/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
index 1f63811..84eeee9 100644
--- a/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
+++ b/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
@@ -40,7 +40,7 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-@Ignore // nocommit this mock test needs updating after dropping the separate solrdispatchfilter zkclient
+@Ignore // MRM TODO: this mock test needs updating after dropping the separate solrdispatchfilter zkclient
 public class CoreSorterTest extends SolrTestCaseJ4 {
 
   private static final List<CountsForEachShard> inputCounts = Arrays.asList(
diff --git a/solr/core/src/test/org/apache/solr/core/ExitableDirectoryReaderTest.java b/solr/core/src/test/org/apache/solr/core/ExitableDirectoryReaderTest.java
index b3dc983..6a32a86 100644
--- a/solr/core/src/test/org/apache/solr/core/ExitableDirectoryReaderTest.java
+++ b/solr/core/src/test/org/apache/solr/core/ExitableDirectoryReaderTest.java
@@ -96,7 +96,7 @@ public class ExitableDirectoryReaderTest extends SolrTestCaseJ4 {
   // removed once it is running and this test should be un-ignored and the assumptions verified.
   // With all the weirdness, I'm not going to vouch for this test. Feel free to change it.
   @Test
-  @Ignore // nocommit - maybe needs a force update
+  @Ignore // MRM TODO: - maybe needs a force update
   public void testCacheAssumptions() throws Exception {
     String fq= "name:d*";
     SolrCore core = h.getCore();
@@ -139,7 +139,7 @@ public class ExitableDirectoryReaderTest extends SolrTestCaseJ4 {
   // When looking at a problem raised on the user's list I ran across this anomaly with timeAllowed
   // This tests for the second query NOT returning partial results, along with some other
   @Test
-  @Ignore // nocommit - maybe needs a force update
+  @Ignore // MRM TODO: - maybe needs a force update
   public void testQueryResults() throws Exception {
     String q = "name:e*";
     SolrCore core = h.getCore();
diff --git a/solr/core/src/test/org/apache/solr/core/RequestHandlersTest.java b/solr/core/src/test/org/apache/solr/core/RequestHandlersTest.java
index 73495d1..2b2b512 100644
--- a/solr/core/src/test/org/apache/solr/core/RequestHandlersTest.java
+++ b/solr/core/src/test/org/apache/solr/core/RequestHandlersTest.java
@@ -44,7 +44,7 @@ public class RequestHandlersTest extends SolrTestCaseJ4 {
 
   @Test
   public void testInitCount() {
-    // nocommit MRM needs to wait for metric
+    // MRM TODO: MRM needs to wait for metric
     try (SolrCore core = h.getCore()) {
       String registry = core.getCoreMetricManager().getRegistryName();
       SolrMetricManager manager = h.getCoreContainer().getMetricManager();
diff --git a/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java b/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java
index 4e862c6..1dd41b7 100644
--- a/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java
+++ b/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java
@@ -35,7 +35,7 @@ import java.lang.invoke.MethodHandles;
 import java.nio.file.Files;
 import java.util.Map;
 
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class SolrCoreCheckLockOnStartupTest extends SolrTestCaseJ4 {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java b/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
index 7ffd46d..1279be5 100644
--- a/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
+++ b/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
@@ -138,7 +138,7 @@ public class SolrCoreTest extends SolrTestCaseJ4 {
   }
   
   @Test
-  @Ignore // nocommit changed
+  @Ignore // MRM TODO: changed
   public void testRefCount() throws Exception {
     SolrCore core = h.getCore();
     assertTrue("Refcount != 1", core.getOpenCount() == 1);
@@ -176,7 +176,7 @@ public class SolrCoreTest extends SolrTestCaseJ4 {
     
 
   @Test
-  @Ignore // nocommit changed
+  @Ignore // MRM TODO: changed
   public void testRefCountMT() throws Exception {
     SolrCore core = h.getCore();
     assertTrue("Refcount != 1", core.getOpenCount() == 1);
diff --git a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
index e510053..37e83e0 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
@@ -164,7 +164,7 @@ public class TestCodecSupport extends SolrTestCaseJ4 {
     doTestCompressionMode("best_compression", "BEST_COMPRESSION");
   }
 
-  @Ignore // nocommit - this test can be flakey after the explicit reload below - some race ...?
+  @Ignore // MRM TODO: - this test can be flakey after the explicit reload below - some race ...?
   public void testMixedCompressionMode() throws Exception {
     System.setProperty("tests.COMPRESSION_MODE", "BEST_SPEED");
     h.getCoreContainer().reload(h.coreName);
diff --git a/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java b/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
index facff09..17207b5 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
@@ -626,7 +626,7 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
     SAXParseException saxEx = (SAXParseException) ex;
     assertTrue("init failure doesn't mention problem: " + saxEx.toString(), saxEx.getSystemId().contains("solrconfig.xml"));
 
-    // nocommit
+    // MRM TODO:
     // ----
     // fix col_bad's config (again) and RELOAD to fix failure
 //    FileUtils.copyFile(getFile("solr/collection1/conf/solrconfig-defaults.xml"),
diff --git a/solr/core/src/test/org/apache/solr/core/TestCustomStream.java b/solr/core/src/test/org/apache/solr/core/TestCustomStream.java
index 1d54b09..f931a91 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCustomStream.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCustomStream.java
@@ -28,7 +28,7 @@ import org.junit.Test;
 /**
  * Created by caomanhdat on 6/3/16.
  */
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestCustomStream extends AbstractFullDistribZkTestBase {
 
   @Test
diff --git a/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java b/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
index 07db12b..009838b 100644
--- a/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
+++ b/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
@@ -218,7 +218,7 @@ public class TestJmxIntegration extends SolrTestCaseJ4 {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testJmxOnCoreReload() throws Exception {
     // make sure searcher beans are registered
     assertQ(req("q", "*:*"), "//result[@numFound='0']");
diff --git a/solr/core/src/test/org/apache/solr/core/TestLazyCores.java b/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
index 2d9cadf..99df90d 100644
--- a/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
+++ b/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
@@ -102,7 +102,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
   }
   
   @Test
-  @Ignore // nocommit harden
+  @Ignore // MRM TODO: harden
   public void testLazyLoad() throws Exception {
     CoreContainer cc = init();
     try {
@@ -202,7 +202,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testCachingLimit() throws Exception {
     CoreContainer cc = init();
     try {
@@ -276,7 +276,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
   // Test case for SOLR-4300
 
   @Test
-  @Ignore // nocommit harden
+  @Ignore // MRM TODO: harden
   public void testRace() throws Exception {
     final List<SolrCore> theCores = new ArrayList<>();
     final CoreContainer cc = init();
@@ -326,7 +326,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
     }
   }
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testCreateSame() throws Exception {
     final CoreContainer cc = init();
     try {
@@ -389,7 +389,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
   
   // Make sure that creating a transient core from the admin handler correctly respects the transient limits etc.
   @Test
-  @Ignore // nocommit harden
+  @Ignore // MRM TODO: harden
   public void testCreateTransientFromAdmin() throws Exception {
     final CoreContainer cc = init();
     try {
@@ -471,7 +471,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
   // 3> that OK cores can be searched even when some cores failed to load.
   // 4> that having no solr.xml entry for transient chache handler correctly uses the default.
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testBadConfigsGenerateErrors() throws Exception {
     final CoreContainer cc = initGoodAndBad(Arrays.asList("core1", "core2"),
         Arrays.asList("badSchema1", "badSchema2"),
@@ -801,7 +801,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
   // Note, this needs FS-based indexes to persist!
   // Cores 2, 3, 6, 7, 8, 9 are transient
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testNoCommit() throws Exception {
     CoreContainer cc = init();
     cc.waitForLoadingCoresToFinish(10000);
diff --git a/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java b/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
index 0f02b3c..a6d1ec1 100644
--- a/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
+++ b/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
@@ -187,7 +187,7 @@ public class TestSolrConfigHandler extends RestTestBase {
     assertEquals("10", m._getStr("overlay/props/updateHandler/autoCommit/maxTime",null));
   }
 
-  @Ignore // nocommit - debug, may not to poll a short while?
+  @Ignore // MRM TODO: - debug, may not to poll a short while?
   public void testUserProp() throws Exception {
     RestTestHarness harness = restTestHarness;
     String payload = "{\n" +
@@ -630,7 +630,7 @@ public class TestSolrConfigHandler extends RestTestBase {
     return m;
   }
 
-  @Ignore //nocommit debug
+  @Ignore //MRM TODO: debug
   public void testReqParams() throws Exception {
     RestTestHarness harness = restTestHarness;
     String payload = " {\n" +
diff --git a/solr/core/src/test/org/apache/solr/core/TestSolrXml.java b/solr/core/src/test/org/apache/solr/core/TestSolrXml.java
index 7b6b987..d530252 100644
--- a/solr/core/src/test/org/apache/solr/core/TestSolrXml.java
+++ b/solr/core/src/test/org/apache/solr/core/TestSolrXml.java
@@ -35,7 +35,7 @@ import java.nio.file.Path;
 import java.util.Locale;
 import java.util.Properties;
 
-@Ignore // nocommit - think this overwrites our rules
+@Ignore // MRM TODO: - think this overwrites our rules
 public class TestSolrXml extends SolrTestCaseJ4 {
 
 //  @Rule
diff --git a/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java b/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java
index 7db5099..45e700a 100644
--- a/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java
+++ b/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java
@@ -27,7 +27,7 @@ import org.junit.Ignore;
 /** 
  * Test both XInclude as well as more old school "entity includes"
  */
-@Ignore // nocommit this is not working, schema is failing on xinclude for a field type - i really hate that xinclude feature anyway
+@Ignore // MRM TODO: this is not working, schema is failing on xinclude for a field type - i really hate that xinclude feature anyway
 public class TestXIncludeConfig extends SolrTestCaseJ4 {
 
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/core/snapshots/TestSolrCoreSnapshots.java b/solr/core/src/test/org/apache/solr/core/snapshots/TestSolrCoreSnapshots.java
index c6f71d1..a58ff0ac 100644
--- a/solr/core/src/test/org/apache/solr/core/snapshots/TestSolrCoreSnapshots.java
+++ b/solr/core/src/test/org/apache/solr/core/snapshots/TestSolrCoreSnapshots.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
 
 @SolrTestCaseJ4.SuppressSSL // Currently unknown why SSL does not work with this test
 @Slow
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestSolrCoreSnapshots extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   private static long docsSeed; // see indexDocs()
diff --git a/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java b/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
index 4ecba31..eb35f86 100644
--- a/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
+++ b/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
@@ -303,7 +303,7 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
         .withParams(params)
         .build()
         .process(client);
-    // nocommit - does not come back on error
+    // MRM TODO: - does not come back on error
     // assertEquals(rsp.getResponse(), rsp.getResponse().get(CommonParams.FILE));
   }
 
diff --git a/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java b/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
index 37b0b75..fdde329 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
@@ -170,7 +170,7 @@ public class TestBlobHandler extends AbstractFullDistribZkTestBase {
   public static void postData(CloudHttp2SolrClient cloudClient, String baseUrl, String blobName, ByteBuffer bytarr) throws IOException {
     String response = null;
     try {
-      Http2SolrClient.SimpleResponse resp = Http2SolrClient.POST(baseUrl + "/.system/blob/" + blobName, cloudClient.getHttpClient(), bytarr, "application/octet-stream"); // nocommit
+      Http2SolrClient.SimpleResponse resp = Http2SolrClient.POST(baseUrl + "/.system/blob/" + blobName, cloudClient.getHttpClient(), bytarr, "application/octet-stream"); // MRM TODO:
 
       try {
         response = resp.asString;
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
index 5cbf636..8b9769f 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
@@ -106,7 +106,7 @@ import static org.junit.matchers.JUnitMatchers.containsString;
 // Currently unknown why SSL does not work with this test
 // commented 20-July-2018 @LuceneTestCase.BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // 12-Jun-2018
 // commented out on: 24-Dec-2018 @LuceneTestCase.BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // added 23-Aug-2018
-@LuceneTestCase.Nightly // nocommit - nightly for a moment
+@LuceneTestCase.Nightly // MRM TODO: - nightly for a moment
 public class TestReplicationHandler extends SolrTestCaseJ4 {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -508,7 +508,7 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
   }
   
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void doTestIndexAndConfigReplication() throws Exception {
 
     TestInjection.delayBeforeSlaveCommitRefresh = random().nextInt(10);
@@ -1013,14 +1013,16 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
         // :TODO: assert that one of the paths is a subpath of hte other
       }
       if (dirFactory instanceof StandardDirectoryFactory) {
-        log.info(Arrays.asList(new File(ddir).list()).toString());
+        if (log.isInfoEnabled()) {
+          log.info(Arrays.asList(new File(ddir).list()).toString());
+        }
         // we also allow one extra index dir - it may not be removed until the core is closed
         int cnt = indexDirCount(ddir);
         // if after reload, there may be 2 index dirs while the reloaded SolrCore closes.
         if (afterReload) {
           assertTrue("found:" + cnt + Arrays.asList(new File(ddir).list()).toString(), 1 == cnt || 2 == cnt);
         } else {
-          assertTrue("found:" + cnt + Arrays.asList(new File(ddir).list()).toString(), 1 == cnt);
+          assertTrue("found:" + cnt + Arrays.asList(new File(ddir).list()).toString(), cnt == 1);
         }
 
       }
@@ -1044,7 +1046,7 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
   }
   
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void doTestRepeater() throws Exception {
     // no polling
     slave.setTestPort(masterJetty.getLocalPort());
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
index 8f3b544..864be8d 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
@@ -54,7 +54,7 @@ import static org.apache.solr.handler.TestReplicationHandler.invokeReplicationCo
 
 @LogLevel("org.apache.solr.handler.IndexFetcher=DEBUG")
 @SolrTestCaseJ4.SuppressSSL
-@LuceneTestCase.Nightly // nocommit speed up
+@LuceneTestCase.Nightly // MRM TODO: speed up
 public class TestReplicationHandlerDiskOverFlow extends SolrTestCaseJ4 {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
index 09f2d6b..ab079ac 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
@@ -40,7 +40,7 @@ import org.junit.Test;
 
 import static java.util.Arrays.asList;
 
-@Ignore // nocommit - some race on adding a dump request handler and then the next command finding it
+@Ignore // MRM TODO: - some race on adding a dump request handler and then the next command finding it
 // TODO: switch to bridge test class
 public class TestSolrConfigHandlerCloud extends AbstractFullDistribZkTestBase {
 
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminCreateDiscoverTest.java b/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminCreateDiscoverTest.java
index 45c0df8..b9f36b0 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminCreateDiscoverTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminCreateDiscoverTest.java
@@ -164,7 +164,7 @@ public class CoreAdminCreateDiscoverTest extends SolrTestCaseJ4 {
     req.close();
 
     // Try to create another core with a different name, but the same instance dir
-    // nocommit disabled at the moment
+    // MRM TODO: disabled at the moment
 //    SolrException e = expectThrows(SolrException.class, () -> {
 //      admin.handleRequestBody
 //          (req(CoreAdminParams.ACTION,
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminHandlerTest.java
index 8cbb762..f9b3861 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminHandlerTest.java
@@ -50,7 +50,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class CoreAdminHandlerTest extends SolrTestCaseJ4 {
   
   @BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/HealthCheckHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/HealthCheckHandlerTest.java
index cb3ceb9..d0fdab4 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/HealthCheckHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/HealthCheckHandlerTest.java
@@ -53,7 +53,7 @@ import org.junit.Test;
 
 import static org.apache.solr.common.params.CommonParams.HEALTH_CHECK_HANDLER_PATH;
 
-@LuceneTestCase.Nightly// nocommit debug - can take a long time
+@LuceneTestCase.Nightly// MRM TODO: debug - can take a long time
 public class HealthCheckHandlerTest extends SolrCloudTestCase {
   @BeforeClass
   public static void setupCluster() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/IndexSizeEstimatorTest.java b/solr/core/src/test/org/apache/solr/handler/admin/IndexSizeEstimatorTest.java
index d6da738..f86a1d6 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/IndexSizeEstimatorTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/IndexSizeEstimatorTest.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
 /**
  *
  */
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class IndexSizeEstimatorTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
index 22a9fc4..79960b5 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java
@@ -104,7 +104,7 @@ public class TestCollectionAPIs extends SolrTestCaseJ4 {
         "{create:{name:'newcoll', config:'schemaless', numShards:2, replicationFactor:2, properties:{prop1:'prop1val', prop2: prop2val} }}", null,
         "{name:newcoll, fromApi:'true', replicationFactor:'2', nrtReplicas:'2', collection.configName:schemaless, numShards:'2', op:create, property.prop1:prop1val, property.prop2:prop2val}");
 
-    // nocommit
+    // MRM TODO:
 //    compareOutput(apiBag, "/collections", POST,
 //        "{create-alias:{name: aliasName , collections:[c1,c2] }}", null, "{op : createalias, name: aliasName, collections:[c1,c2] }");
 
diff --git a/solr/core/src/test/org/apache/solr/handler/component/CustomHighlightComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/CustomHighlightComponentTest.java
index fc956b6..b28869d 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/CustomHighlightComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/CustomHighlightComponentTest.java
@@ -38,7 +38,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit leaking...
+@Ignore // MRM TODO: leaking...
 public class CustomHighlightComponentTest extends SolrCloudTestCase {
 
   public static class CustomHighlightComponent extends HighlightComponent {
diff --git a/solr/core/src/test/org/apache/solr/handler/component/CustomTermsComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/CustomTermsComponentTest.java
index c9347cb..ccf2f03 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/CustomTermsComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/CustomTermsComponentTest.java
@@ -33,7 +33,7 @@ import org.apache.solr.common.util.NamedList;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit issue with shard white list feature? Maybe needs update to master?
+@Ignore // MRM TODO: issue with shard white list feature? Maybe needs update to master?
 public class CustomTermsComponentTest extends ShardsWhitelistTest {
 
   public static class CustomTermsComponent extends TermsComponent {
diff --git a/solr/core/src/test/org/apache/solr/handler/component/InfixSuggestersTest.java b/solr/core/src/test/org/apache/solr/handler/component/InfixSuggestersTest.java
index a5d05fa..1654221 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/InfixSuggestersTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/InfixSuggestersTest.java
@@ -100,7 +100,7 @@ public class InfixSuggestersTest extends SolrTestCaseJ4 {
   }
 
   @Test
-  @Ignore // nocommit don't think the test is right
+  @Ignore // MRM TODO: don't think the test is right
   public void testReloadDuringBuild() throws Exception {
     ExecutorService executor = getTestExecutor();
     // Build the suggester in the background with a long dictionary
@@ -117,7 +117,7 @@ public class InfixSuggestersTest extends SolrTestCaseJ4 {
   }
 
   @Test
-  @Ignore // nocommit don't think the test is right
+  @Ignore // MRM TODO: don't think the test is right
   public void testShutdownDuringBuild() throws Exception {
     ExecutorService executor = getTestExecutor();
     try {
diff --git a/solr/core/src/test/org/apache/solr/handler/component/TestHttpShardHandlerFactory.java b/solr/core/src/test/org/apache/solr/handler/component/TestHttpShardHandlerFactory.java
index d111428..5caa7ef 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/TestHttpShardHandlerFactory.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/TestHttpShardHandlerFactory.java
@@ -134,7 +134,7 @@ public class TestHttpShardHandlerFactory extends SolrTestCaseJ4 {
   
   @Test
   public void testLiveNodesToHostUrl() throws Exception {
-  // nocommit - takes a zkreader
+  // MRM TODO: - takes a zkreader
 //    Set<String> liveNodes = new HashSet<>(Arrays.asList(new String[]{
 //        "1.2.3.4:8983_solr",
 //        "1.2.3.4:9000_",
diff --git a/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java b/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java
index 3f8484e..7743304 100644
--- a/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/JvmMetricsTest.java
@@ -165,7 +165,7 @@ public class JvmMetricsTest extends SolrJettyTestBase {
     assertTrue(metrics.toString(), metrics.entrySet().stream().filter(e -> e.getKey().startsWith("buffers.")).count() > 0);
     assertTrue(metrics.toString(), metrics.entrySet().stream().filter(e -> e.getKey().startsWith("classes.")).count() > 0);
 
-    // nocommit disabled for slowness
+    // MRM TODO: disabled for slowness
    // assertTrue(metrics.toString(), metrics.entrySet().stream().filter(e -> e.getKey().startsWith("os.")).count() > 0);
     assertTrue(metrics.toString(), metrics.entrySet().stream().filter(e -> e.getKey().startsWith("gc.")).count() > 0);
     assertTrue(metrics.toString(), metrics.entrySet().stream().filter(e -> e.getKey().startsWith("memory.")).count() > 0);
diff --git a/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
index 5fc06bd..b2c133b 100644
--- a/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
@@ -148,7 +148,7 @@ public class SolrMetricsIntegrationTest extends SolrTestCaseJ4 {
       }
 
       long finalCount = timer.getCount();
-      // nocommit - those timers are disabled right now
+      // MRM TODO: - those timers are disabled right now
       // assertEquals("metric counter incorrect", iterations, finalCount - initialCount);
       Map<String,SolrMetricReporter> reporters = metricManager.getReporters(coreMetricManager.getRegistryName());
       assertEquals(RENAMED_REPORTERS.length + jmxReporter, reporters.size());
diff --git a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrGraphiteReporterTest.java b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrGraphiteReporterTest.java
index 0013571..4e93e02 100644
--- a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrGraphiteReporterTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrGraphiteReporterTest.java
@@ -43,7 +43,7 @@ import org.junit.Test;
 /**
  *
  */
-@Ignore // nocommit debug - the reporter shows up for the core but not the node
+@Ignore // MRM TODO: debug - the reporter shows up for the core but not the node
 public class SolrGraphiteReporterTest extends SolrTestCaseJ4 {
 
   @Test
@@ -68,7 +68,7 @@ public class SolrGraphiteReporterTest extends SolrTestCaseJ4 {
                                              
       h.coreName = DEFAULT_TEST_CORENAME;
       SolrMetricManager metricManager = cc.getMetricManager();
-      // nocommit - where is the node stuff that should be here? Do we have to wait for it to show up?
+      // MRM TODO: - where is the node stuff that should be here? Do we have to wait for it to show up?
       Map<String, SolrMetricReporter> reporters = metricManager.getReporters("solr.core.collection1");
       assertEquals(1 + jmxReporter, reporters.size());
       SolrMetricReporter reporter = reporters.values().iterator().next();
diff --git a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrSlf4jReporterTest.java b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrSlf4jReporterTest.java
index 8b75804..2b3dac9 100644
--- a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrSlf4jReporterTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrSlf4jReporterTest.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
 /**
  *
  */
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class SolrSlf4jReporterTest extends SolrTestCaseJ4 {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrCloudReportersTest.java b/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrCloudReportersTest.java
index d20414b..b617971 100644
--- a/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrCloudReportersTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrCloudReportersTest.java
@@ -41,7 +41,7 @@ import com.codahale.metrics.Metric;
 /**
  *
  */
-@Ignore // nocommit fix silly sleeps
+@Ignore // MRM TODO: fix silly sleeps
 public class SolrCloudReportersTest extends SolrCloudTestCase {
   volatile int leaderRegistries;
   volatile int clusterRegistries;
diff --git a/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrShardReporterTest.java b/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrShardReporterTest.java
index 4779483..f429199 100644
--- a/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrShardReporterTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/reporters/solr/SolrShardReporterTest.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  *
  */
-@Ignore // nocommit fix silly sleeps
+@Ignore // MRM TODO: fix silly sleeps
 public class SolrShardReporterTest extends AbstractFullDistribZkTestBase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java
index ed90e6a..31492e9 100644
--- a/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestCSVResponseWriter.java
@@ -32,7 +32,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class TestCSVResponseWriter extends SolrTestCaseJ4 {
   @BeforeClass
   public static void beforeClass() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java
index e18ae50..1412387 100644
--- a/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java
@@ -37,7 +37,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit - the output is correct, strange this test xpath query stuff is returning false ...
+@Ignore // MRM TODO: - the output is correct, strange this test xpath query stuff is returning false ...
 public class TestGraphMLResponseWriter extends SolrTestCaseJ4 {
   @BeforeClass
   public static void beforeClass() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/response/transform/TestChildDocTransformerHierarchy.java b/solr/core/src/test/org/apache/solr/response/transform/TestChildDocTransformerHierarchy.java
index 18a537e..cf9f2db 100644
--- a/solr/core/src/test/org/apache/solr/response/transform/TestChildDocTransformerHierarchy.java
+++ b/solr/core/src/test/org/apache/solr/response/transform/TestChildDocTransformerHierarchy.java
@@ -36,7 +36,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class TestChildDocTransformerHierarchy extends SolrTestCaseJ4 {
 
   private static AtomicInteger idCounter = new AtomicInteger();
diff --git a/solr/core/src/test/org/apache/solr/response/transform/TestSubQueryTransformerDistrib.java b/solr/core/src/test/org/apache/solr/response/transform/TestSubQueryTransformerDistrib.java
index 6d066d7..c220cff 100644
--- a/solr/core/src/test/org/apache/solr/response/transform/TestSubQueryTransformerDistrib.java
+++ b/solr/core/src/test/org/apache/solr/response/transform/TestSubQueryTransformerDistrib.java
@@ -51,7 +51,7 @@ import org.junit.Ignore;
 import org.junit.Test;
 
 @org.apache.solr.SolrTestCaseJ4.SuppressSSL()
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestSubQueryTransformerDistrib extends SolrCloudTestCase {
   
   private static final String support = "These guys help customers";
diff --git a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java
index e314b12..75b24ad 100644
--- a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java
+++ b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java
@@ -70,7 +70,7 @@ public class TestManagedSynonymGraphFilterFactory extends RestTestBase {
   }
 
   @Test
-  @Ignore // nocommit race ?
+  @Ignore // MRM TODO: race ?
   public void testManagedSynonyms() throws Exception {
     // this endpoint depends on at least one field type containing the following
     // declaration in the schema-rest.xml:
diff --git a/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java b/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java
index 3c1aa9a..a1c4e94 100644
--- a/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java
@@ -61,7 +61,7 @@ public class ExternalFileFieldSortTest extends SolrTestCaseJ4 {
   }
   
   @Test
-  @Ignore // nocommit - not throwing an exception
+  @Ignore // MRM TODO: - not throwing an exception
   public void testPointKeyFieldType() throws Exception {
     System.setProperty(SolrTestCaseJ4.USE_NUMERIC_POINTS_SYSPROP, "false");
     // This one should fail though, no "node" parameter specified
diff --git a/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java b/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java
index 51834be..2c98616 100644
--- a/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java
@@ -31,7 +31,7 @@ import org.apache.solr.common.util.Utils;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-@LuceneTestCase.Nightly // nocommit speed up
+@LuceneTestCase.Nightly // MRM TODO: speed up
 public class SchemaApiFailureTest extends SolrCloudTestCase {
 
   private static final String COLLECTION = "schema-api-failure";
diff --git a/solr/core/src/test/org/apache/solr/schema/SchemaVersionSpecificBehaviorTest.java b/solr/core/src/test/org/apache/solr/schema/SchemaVersionSpecificBehaviorTest.java
index e253988..7e38f9e 100644
--- a/solr/core/src/test/org/apache/solr/schema/SchemaVersionSpecificBehaviorTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/SchemaVersionSpecificBehaviorTest.java
@@ -19,7 +19,7 @@ package org.apache.solr.schema;
 import com.carrotsearch.randomizedtesting.annotations.Nightly;
 import org.apache.solr.SolrTestCaseJ4;
 
-@Nightly // nocommit speedup
+@Nightly // MRM TODO: speedup
 public class SchemaVersionSpecificBehaviorTest extends SolrTestCaseJ4 {
 
   public void testVersionBehavior() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/schema/SpatialRPTFieldTypeTest.java b/solr/core/src/test/org/apache/solr/schema/SpatialRPTFieldTypeTest.java
index 26545f6..24568d7 100644
--- a/solr/core/src/test/org/apache/solr/schema/SpatialRPTFieldTypeTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/SpatialRPTFieldTypeTest.java
@@ -30,7 +30,7 @@ import org.junit.After;
 import org.junit.Before;
 import org.locationtech.spatial4j.shape.Shape;
 
-@LuceneTestCase.Nightly // nocommit speed up
+@LuceneTestCase.Nightly // MRM TODO: speed up
 public class SpatialRPTFieldTypeTest extends AbstractBadConfigTestBase {
   
   private static File tmpSolrHome;
diff --git a/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java b/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
index 24c994c..369b9e2 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestBulkSchemaConcurrent.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
 import static org.apache.solr.rest.schema.TestBulkSchemaAPI.getObj;
 import static org.apache.solr.rest.schema.TestBulkSchemaAPI.getSourceCopyFields;
 
-@LuceneTestCase.Nightly // nocommit - this test is still too expensive
+@LuceneTestCase.Nightly // MRM TODO: - this test is still too expensive
 public class TestBulkSchemaConcurrent extends SolrCloudBridgeTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchema.java b/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchema.java
index affc445..324ccb4 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchema.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestCloudManagedSchema.java
@@ -53,7 +53,7 @@ public class TestCloudManagedSchema extends SolrCloudBridgeTestCase {
     NamedList namedListResponse = client.request(request);
     client.setBaseUrl(previousBaseURL); // Restore baseURL
     NamedList status = (NamedList)namedListResponse.get("status");
-    // nocommit
+    // MRM TODO:
 //    NamedList collectionStatus = (NamedList)status.getVal(0);
 //    String collectionSchema = (String)collectionStatus.get(CoreAdminParams.SCHEMA);
 //    // Make sure the upgrade to managed schema happened
diff --git a/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java b/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java
index 3655471..45ae4c5 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java
@@ -41,7 +41,7 @@ import org.junit.Before;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@LuceneTestCase.Nightly // nocommit debug, got slow
+@LuceneTestCase.Nightly // MRM TODO: debug, got slow
 public class TestManagedSchema extends AbstractBadConfigTestBase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/schema/TestPointFields.java b/solr/core/src/test/org/apache/solr/schema/TestPointFields.java
index 5276594..62d5d5d 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestPointFields.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestPointFields.java
@@ -74,7 +74,7 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 
 /** Tests for PointField functionality */
-@LuceneTestCase.Nightly // nocommit slow, slow
+@LuceneTestCase.Nightly // MRM TODO: slow, slow
 public class TestPointFields extends SolrTestCaseJ4 {
 
   // long overflow can occur in some date calculations if gaps are too large, so we limit to a million years BC & AD.
diff --git a/solr/core/src/test/org/apache/solr/search/CurrencyRangeFacetCloudTest.java b/solr/core/src/test/org/apache/solr/search/CurrencyRangeFacetCloudTest.java
index 48d0703..5e86120 100644
--- a/solr/core/src/test/org/apache/solr/search/CurrencyRangeFacetCloudTest.java
+++ b/solr/core/src/test/org/apache/solr/search/CurrencyRangeFacetCloudTest.java
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-@LuceneTestCase.Nightly // nocommit - debug this on low end hardware
+@LuceneTestCase.Nightly // MRM TODO: - debug this on low end hardware
 public class CurrencyRangeFacetCloudTest extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java b/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java
index 456621b..2e522c5 100644
--- a/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java
+++ b/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java
@@ -222,7 +222,7 @@ public class TestIndexSearcher extends SolrTestCaseJ4 {
 
   }
 
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void testSearcherListeners() throws Exception {
     MockSearchComponent.registerSlowSearcherListener = false;
         
@@ -288,7 +288,7 @@ public class TestIndexSearcher extends SolrTestCaseJ4 {
     assertTrue(connection.request("/select",params, null ).contains("<int name=\"status\">0</int>"));
   }
 
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void testDontUseColdSearcher() throws Exception {
     MockSearchComponent.registerFirstSearcherListener = false;
     MockSearchComponent.registerNewSearcherListener = false;
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolr4Spatial2.java b/solr/core/src/test/org/apache/solr/search/TestSolr4Spatial2.java
index 40cf12f..e8fa5c9 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolr4Spatial2.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolr4Spatial2.java
@@ -89,7 +89,7 @@ public class TestSolr4Spatial2 extends SolrTestCaseJ4 {
   }
 
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void testBBox() throws Exception {
     String fieldName = random().nextBoolean() ? "bbox" : "bboxD_dynamic";
     assertU(adoc("id", "0"));//nothing
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
index 335ddb9..de8bd08 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
@@ -1180,7 +1180,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     }
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_singleTermQuerySingleTermSynonyms_shouldParseBoostedQuery() throws Exception {
     //tiger, tigre|0.9
     Query q = QParser.getParser("tiger", req(params("df", "t_pick_best_boosted_foo"))).getQuery();
@@ -1203,7 +1203,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     assertEquals("Synonym(t_as_same_term_boosted_foo:lince^0.8 t_as_same_term_boosted_foo:lynx_canadensis^0.9)", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_singleTermQueryMultiTermSynonyms_shouldParseBoostedQuery() throws Exception {
     //leopard, big cat|0.8, bagheera|0.9, panthera pardus|0.85
     Query q = QParser.getParser("leopard", req(params("df", "t_pick_best_boosted_foo"))).getQuery();
@@ -1226,7 +1226,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     assertEquals("((t_as_same_term_boosted_foo:\"panthera leo\")^0.9 (t_as_same_term_boosted_foo:\"simba leo\")^0.8 (t_as_same_term_boosted_foo:kimba)^0.75)", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_multiTermQuerySingleTermSynonyms_shouldParseBoostedQuery() throws Exception {
     //tiger, tigre|0.9
     //lynx => lince|0.8, lynx_canadensis|0.9
@@ -1243,7 +1243,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
             " Synonym(t_as_same_term_boosted_foo:lince^0.8 t_as_same_term_boosted_foo:lynx_canadensis^0.9)", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_multiTermQueryMultiTermSynonyms_shouldParseBoostedQuery() throws Exception {
     //leopard, big cat|0.8, bagheera|0.9, panthera pardus|0.85
     //lion => panthera leo|0.9, simba leo|0.8, kimba|0.75
@@ -1261,7 +1261,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
 
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_singleConceptQuerySingleTermSynonym_shouldParseBoostedQuery() throws Exception {
     //panthera pardus, leopard|0.6
     Query q = QParser.getParser("panthera pardus story",req(params("df", "t_pick_best_boosted_foo","sow", "false"))).getQuery();
@@ -1284,7 +1284,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     assertEquals("(t_as_same_term_boosted_foo:tiger)^0.99 t_as_same_term_boosted_foo:story", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_singleConceptQueryMultiTermSynonymWithMultipleBoost_shouldParseMultiplicativeBoostedQuery() throws Exception {
     //panthera blytheae, oldest|0.5 ancient|0.9 panthera
     Query q = QParser.getParser("panthera blytheae",req(params("df", "t_pick_best_boosted_foo","sow", "false"))).getQuery();
@@ -1297,7 +1297,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     assertEquals("((t_as_same_term_boosted_foo:\"oldest ancient panthera\")^0.45 t_as_same_term_boosted_foo:\"panthera blytheae\")", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_singleConceptQueryMultiTermSynonyms_shouldParseBoostedQuery() throws Exception {
     //snow leopard, panthera uncia|0.9, big cat|0.8, white_leopard|0.6
     Query q = QParser.getParser("snow leopard",req(params("df", "t_pick_best_boosted_foo","sow", "false"))).getQuery();
@@ -1321,7 +1321,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
 
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_multiConceptQuerySingleTermSynonym_shouldParseBoostedQuery() throws Exception {
     //panthera pardus, leopard|0.6
     //tiger, tigre|0.9
@@ -1335,7 +1335,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     assertEquals("((t_as_same_term_boosted_foo:leopard)^0.6 t_as_same_term_boosted_foo:\"panthera pardus\") Synonym(t_as_same_term_boosted_foo:tiger t_as_same_term_boosted_foo:tigre^0.9)", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_multiConceptsQueryMultiTermSynonyms_shouldParseBoostedQuery() throws Exception {
     //snow leopard, panthera uncia|0.9, big cat|0.8, white_leopard|0.6
     //panthera onca => jaguar|0.95, big cat|0.85, black panther|0.65
@@ -1377,7 +1377,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
     req.close();
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_phraseQueryMultiTermSynonymsBoost() throws Exception {
     Query q = QParser.getParser("\"snow leopard lion\"", req(params("df", "t_pick_best_boosted_foo", "sow", "false"))).getQuery();
     assertEquals("(t_pick_best_boosted_foo:\"panthera uncia panthera leo\")^0.80999994 " +
@@ -1394,7 +1394,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
         "(t_pick_best_boosted_foo:\"snow leopard kimba\")^0.75", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_phraseQueryMultiTermSynonymsMultipleBoost() throws Exception {
     Query q = QParser.getParser("\"panthera blytheae lion\"", req(params("df", "t_pick_best_boosted_foo", "sow", "false"))).getQuery();
     assertEquals("(t_pick_best_boosted_foo:\"oldest ancient panthera panthera leo\")^0.40499997 " +
@@ -1405,7 +1405,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
         "(t_pick_best_boosted_foo:\"panthera blytheae kimba\")^0.75", q.toString());
   }
 
-  @LuceneTestCase.AwaitsFix(bugUrl = "nocommit - review difference")
+  @LuceneTestCase.AwaitsFix(bugUrl = "MRM TODO: - review difference")
   public void testSynonymsBoost_BoostMissing_shouldAssignDefaultBoost() throws Exception {
     //leopard, big cat|0.8, bagheera|0.9, panthera pardus|0.85
     Query q = QParser.getParser("leopard", req(params("df", "t_pick_best_boosted_foo"))).getQuery();
diff --git a/solr/core/src/test/org/apache/solr/search/TestStressReorder.java b/solr/core/src/test/org/apache/solr/search/TestStressReorder.java
index 3923987..d34cf6d 100644
--- a/solr/core/src/test/org/apache/solr/search/TestStressReorder.java
+++ b/solr/core/src/test/org/apache/solr/search/TestStressReorder.java
@@ -182,7 +182,7 @@ public class TestStressReorder extends TestRTGBase {
               lastId = id;
             }
             Object sync = syncArr[id];
-            // nocommit do we need this like in TestRealTimeGet to make sure our model matches?
+            // MRM TODO: do we need this like in TestRealTimeGet to make sure our model matches?
             // maybe try a test httpclient with strict ordering?
             synchronized (sync) {
               DocInfo info = model.get(id);
diff --git a/solr/core/src/test/org/apache/solr/search/TestStressVersions.java b/solr/core/src/test/org/apache/solr/search/TestStressVersions.java
index 6d18c8e..cd3956e 100644
--- a/solr/core/src/test/org/apache/solr/search/TestStressVersions.java
+++ b/solr/core/src/test/org/apache/solr/search/TestStressVersions.java
@@ -139,7 +139,7 @@ public class TestStressVersions extends TestRTGBase {
               // Even with versions, we can't remove the sync because increasing versions does not mean increasing vals.
               //
               // NOTE: versioning means we can now remove the sync and tell what update "won"
-              // nocommit sync turned back on or else fail
+              // MRM TODO: sync turned back on or else fail
               synchronized (sync) {
               DocInfo info = model.get(id);
 
diff --git a/solr/core/src/test/org/apache/solr/search/facet/SpatialHeatmapFacetsTest.java b/solr/core/src/test/org/apache/solr/search/facet/SpatialHeatmapFacetsTest.java
index ed3016b..94c9e34 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/SpatialHeatmapFacetsTest.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/SpatialHeatmapFacetsTest.java
@@ -31,7 +31,7 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 
 /** Test Heatmap Facets (both impls) */
-@LuceneTestCase.Nightly // nocommit - debug why this can be so slow - close to 30 seconds in a parallel run
+@LuceneTestCase.Nightly // MRM TODO: - debug why this can be so slow - close to 30 seconds in a parallel run
 public class SpatialHeatmapFacetsTest extends BaseDistributedSearchTestCase {
   private static final String FIELD = "srpt_quad";
 
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
index e6ce24f..c5ac1cb 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
@@ -51,7 +51,7 @@ import org.junit.Test;
 //   TestJsonRangeFacets for range facet tests
 
 @LuceneTestCase.SuppressCodecs({"Lucene3x","Lucene40","Lucene41","Lucene42","Lucene45","Appending"})
-@LuceneTestCase.Nightly // nocommit - figure out why this test can sometimes take 20 seconds - it's facet executor use?
+@LuceneTestCase.Nightly // MRM TODO: - figure out why this test can sometimes take 20 seconds - it's facet executor use?
 public class TestJsonFacets extends SolrTestCaseHS {
   
   private static SolrInstances servers;  // for distributed testing
diff --git a/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java b/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
index 6def1e1..5b24fdf 100644
--- a/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
+++ b/solr/core/src/test/org/apache/solr/search/stats/TestDistribIDF.java
@@ -136,7 +136,7 @@ public class TestDistribIDF extends SolrTestCaseJ4 {
           query.setFields("*,score");
           queryResponse = solrClient_local.query("onecollection_local", query);
           assertEquals(2, queryResponse.getResults().getNumFound());
-// nocommit - dont count on order?
+// MRM TODO: - dont count on order?
 //          assertEquals("2", queryResponse.getResults().get(0).get("id"));
 //          assertEquals("1", queryResponse.getResults().get(1).get("id"));
           float score1_local = (float) queryResponse.getResults().get(0).get("score");
diff --git a/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
index 4f0800a..8305dcf 100644
--- a/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
@@ -80,7 +80,7 @@ import static org.apache.solr.security.Sha256AuthenticationProvider.getSaltedHas
  * Validate that audit logging works in a live cluster
  */
 @SolrTestCaseJ4.SuppressSSL
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class AuditLoggerIntegrationTest extends SolrCloudAuthTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
index 0865e28..8fcfd09 100644
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
@@ -74,7 +74,7 @@ import org.slf4j.LoggerFactory;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Collections.singletonMap;
 
-@Ignore // nocommit trying to slim down and cleanup, but a bunch of races remain
+@Ignore // MRM TODO: trying to slim down and cleanup, but a bunch of races remain
 public class BasicAuthIntegrationTest extends SolrCloudAuthTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -134,7 +134,7 @@ public class BasicAuthIntegrationTest extends SolrCloudAuthTestCase {
       baseUrl = randomJetty.getBaseUrl().toString();
      // verifySecurityStatus(cl, baseUrl + authcPrefix, "authentication/class", "solr.BasicAuthPlugin", 20);
       assertNumberOfMetrics(8); // Basic auth metrics available
-      // nocommit - we prob have to wait for these to show up
+      // MRM TODO: - we prob have to wait for these to show up
       //assertAuthMetricsMinimums(1, 0, 1, 0, 0, 0);
       assertPkiAuthMetricsMinimums(0, 0, 0, 0, 0, 0);
       
@@ -151,7 +151,7 @@ public class BasicAuthIntegrationTest extends SolrCloudAuthTestCase {
       }
 
       // avoid bad connection races due to shutdown
-      // nocommit
+      // MRM TODO:
      // cluster.getSolrClient().getHttpClient().getConnectionManager().closeExpiredConnections();
      // cluster.getSolrClient().getHttpClient().getConnectionManager().closeIdleConnections(1, TimeUnit.MILLISECONDS);
       
diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthOnSingleNodeTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthOnSingleNodeTest.java
index 61e1097..d3b744c 100644
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthOnSingleNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthOnSingleNodeTest.java
@@ -57,7 +57,7 @@ public class BasicAuthOnSingleNodeTest extends SolrCloudAuthTestCase {
   }
 
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void basicTest() throws Exception {
     try (Http2SolrClient client = new Http2SolrClient.Builder(cluster.getJettySolrRunner(0).getBaseUrl().toString())
         .build()){
@@ -72,7 +72,7 @@ public class BasicAuthOnSingleNodeTest extends SolrCloudAuthTestCase {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testDeleteSecurityJsonZnode() throws Exception {
     try (Http2SolrClient client = new Http2SolrClient.Builder(cluster.getJettySolrRunner(0).getBaseUrl().toString())
         .build()){
diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java
index 491786d..310eef3 100644
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java
@@ -53,7 +53,7 @@ import static org.apache.solr.cloud.SolrCloudAuthTestCase.NOT_NULL_PREDICATE;
 import static org.apache.solr.security.BasicAuthIntegrationTest.STD_CONF;
 import static org.apache.solr.security.BasicAuthIntegrationTest.verifySecurityStatus;
 
-@Ignore // nocommit - flakey
+@Ignore // MRM TODO: - flakey
 public class BasicAuthStandaloneTest extends SolrTestCaseJ4 {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java
index a1a2133..69ee752 100644
--- a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginIntegrationTest.java
@@ -69,7 +69,7 @@ import static java.nio.charset.StandardCharsets.UTF_8;
  * </p>
  */
 @SolrTestCaseJ4.SuppressSSL
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 // JWTVerificationkeyResolver.resolveKey when the plugin is inited will make http calls that fail and sleep and retry
 public class JWTAuthPluginIntegrationTest extends SolrCloudAuthTestCase {
   protected static final int NUM_SERVERS = 2;
diff --git a/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java
index 397cf47..8c39e48 100644
--- a/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
 import static java.util.Collections.singletonMap;
 import static org.apache.solr.common.util.Utils.makeMap;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class PKIAuthenticationIntegrationTest extends SolrCloudAuthTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java b/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
index 7802a36..54d0088 100644
--- a/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
+++ b/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
@@ -42,7 +42,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @LuceneTestCase.Slow
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestAuthorizationFramework extends AbstractFullDistribZkTestBase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
diff --git a/solr/core/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java b/solr/core/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java
index e8fefd7..8805b7f 100644
--- a/solr/core/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java
+++ b/solr/core/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java
@@ -48,7 +48,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestDelegationWithHadoopAuth extends SolrCloudTestCase {
   protected static final int NUM_SERVERS = 2;
   protected static final String USER_1 = "foo";
diff --git a/solr/core/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java b/solr/core/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java
index c90ed76..e2a2596 100644
--- a/solr/core/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java
+++ b/solr/core/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java
@@ -47,7 +47,7 @@ import static org.apache.solr.security.hadoop.ImpersonationUtil.getExpectedGroup
 import static org.apache.solr.security.hadoop.ImpersonationUtil.getExpectedHostExMsg;
 import static org.apache.solr.security.hadoop.ImpersonationUtil.getProxyRequest;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestImpersonationWithHadoopAuth  extends SolrCloudTestCase {
   protected static final int NUM_SERVERS = 2;
   private static final boolean defaultAddRequestHeadersToContext =
diff --git a/solr/core/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java b/solr/core/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java
index 73f7a35..9cf99f8 100644
--- a/solr/core/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java
+++ b/solr/core/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java
@@ -47,7 +47,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit need to enable zk acls for this test
+@Ignore // MRM TODO: need to enable zk acls for this test
 public class TestZkAclsWithHadoopAuth extends SolrCloudTestCase {
   protected static final int NUM_SERVERS = 1;
   protected static final int NUM_SHARDS = 1;
diff --git a/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java b/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java
index 2fac19f..111c59b 100644
--- a/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java
@@ -42,7 +42,7 @@ import org.junit.Test;
 /**
  * A test case for the several HTTP cache headers emitted by Solr
  */
-@Ignore // nocommit look at this after http2 switch
+@Ignore // MRM TODO: look at this after http2 switch
 public class CacheHeaderTest extends CacheHeaderTestBase {
   private static File solrHomeDirectory;
     
diff --git a/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallGetCoreTest.java b/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallGetCoreTest.java
index 7ac17e4..f100043 100644
--- a/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallGetCoreTest.java
+++ b/solr/core/src/test/org/apache/solr/servlet/HttpSolrCallGetCoreTest.java
@@ -36,7 +36,7 @@ import org.junit.Ignore;
 import org.junit.Test;
 
 // commented 4-Sep-2018 @LuceneTestCase.BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // 2-Aug-2018
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class HttpSolrCallGetCoreTest extends SolrCloudTestCase {
   private static final String COLLECTION = "collection1";
   private static final int NUM_SHARD = 3;
diff --git a/solr/core/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java b/solr/core/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java
index 73bb6ee..dec209b 100644
--- a/solr/core/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 /**
  * A test case for the several HTTP cache headers emitted by Solr
  */
-@Ignore // nocommit look at this after http2 switch
+@Ignore // MRM TODO: look at this after http2 switch
 public class NoCacheHeaderTest extends CacheHeaderTestBase {
   // TODO: fix this test not to directly use the test-files copied to build/
   // as its home. it could interfere with other tests!
diff --git a/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java b/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
index b69282d..d35847b 100644
--- a/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
@@ -57,7 +57,7 @@ public class ResponseHeaderTest extends SolrJettyTestBase {
   }
   
   @Test
-  @Ignore // nocommit use Http2SolrClient#GET
+  @Ignore // MRM TODO: use Http2SolrClient#GET
   public void testHttpResponse() throws SolrServerException, IOException {
     Http2SolrClient client = (Http2SolrClient) getSolrClient(jetty);
 
diff --git a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
index 32fc731..3a45fde 100644
--- a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
+++ b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
@@ -43,7 +43,7 @@ import java.util.LinkedHashSet;
 import java.util.Set;
 
 @SolrTestCase.SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
-@LuceneTestCase.Nightly // nocommit look into this test sometimes being very slow to finish
+@LuceneTestCase.Nightly // MRM TODO: look into this test sometimes being very slow to finish
 public class PeerSyncTest extends BaseDistributedSearchTestCase {
   protected static int numVersions = 150;  // number of versions to use when syncing
   protected static final String FROM_LEADER = DistribPhase.FROMLEADER.toString();
@@ -125,7 +125,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
 
     validateDocs(docsAdded, client0, client1);
 
-    // nocommit flakey, peersync can fail when assert success
+    // MRM TODO: flakey, peersync can fail when assert success
    // testOverlap(docsAdded, client0, client1, v);
 
     // test delete and deleteByQuery
diff --git a/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java b/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java
index 957a0cf..89a1dcd 100644
--- a/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/SolrCmdDistributorTest.java
@@ -17,7 +17,7 @@
 package org.apache.solr.update;
 
 // See: https://issues.apache.org/jira/browse/SOLR-12028 Tests cannot remove files on Windows machines occasionally
-//@Ignore // nocommit: debug - and now SolrCmdDistributor has changed
+//@Ignore // MRM TODO:: debug - and now SolrCmdDistributor has changed
 //public class SolrCmdDistributorTest extends BaseDistributedSearchTestCase {
 //
 //  private static enum NodeType {FORWARD, STANDARD};
@@ -307,7 +307,7 @@ package org.apache.solr.update;
 //    testReqShouldRetryBadRequest();
 //    testReqShouldRetryNotFound();
 //    testReqShouldRetryDBQ();
-//    // nocommit testDeletes(false, true);
+//    // MRM TODO: testDeletes(false, true);
 //    testDeletes(false, false);
 //    testDeletes(true, true);
 //    testDeletes(true, false);
diff --git a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdateWithRouteField.java b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdateWithRouteField.java
index f4b8ec8..86d3415 100644
--- a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdateWithRouteField.java
+++ b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdateWithRouteField.java
@@ -114,7 +114,7 @@ public class TestInPlaceUpdateWithRouteField extends SolrCloudTestCase {
         newVersion > initialVersion);
     Assert.assertThat( "Doc value must be updated", solrDocument.get("inplace_updatable_int"), is(newDocValue));
 
-    // nocommit - this can randomly fail, investigate
+    // MRM TODO: - this can randomly fail, investigate
     // Assert.assertThat("Lucene doc id should not be changed for In-Place Updates.", solrDocument.get("[docid]"), is(luceneDocId));
 
     sdoc.remove("shardName");
@@ -122,7 +122,7 @@ public class TestInPlaceUpdateWithRouteField extends SolrCloudTestCase {
 
     sdoc.addField("shardName",  SolrTestCaseJ4.map("set", "newShardName"));
 
-    // nocommit - the following does not fail with exception
+    // MRM TODO: - the following does not fail with exception
     // checkWrongCommandFailure(sdoc);
   }
 
diff --git a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java
index fc45634..5bdec7c 100644
--- a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java
+++ b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java
@@ -72,7 +72,7 @@ import java.util.concurrent.TimeoutException;
  * Tests the in-place updates (docValues updates) for a one shard, three replica cluster.
  */
 @Slow
-@LuceneTestCase.Nightly // nocommit - finish converting this test, also nightly due to all the delays it injects
+@LuceneTestCase.Nightly // MRM TODO: - finish converting this test, also nightly due to all the delays it injects
 public class TestInPlaceUpdatesDistrib extends SolrCloudBridgeTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   private final boolean onlyLeaderIndexes = random().nextBoolean();
@@ -93,7 +93,7 @@ public class TestInPlaceUpdatesDistrib extends SolrCloudBridgeTestCase {
     // we need consistent segments that aren't re-ordered on merge because we're
     // asserting inplace updates happen by checking the internal [docid]
    // systemSetPropertySolrTestsMergePolicyFactory(NoMergePolicyFactory.class.getName());
-    // nocommit
+    // MRM TODO:
     //randomizeUpdateLogImpl();
 
   }
@@ -143,7 +143,7 @@ public class TestInPlaceUpdatesDistrib extends SolrCloudBridgeTestCase {
     resetDelays();
     docValuesUpdateTest();
     resetDelays();
-    // outOfOrderUpdatesIndividualReplicaTest(); nocommit debug, when the other tests were changed to testExecutor this started hitting a 404
+    // outOfOrderUpdatesIndividualReplicaTest(); MRM TODO: debug, when the other tests were changed to testExecutor this started hitting a 404
     resetDelays();
     ensureRtgWorksWithPartialUpdatesTest();
     resetDelays();
@@ -152,7 +152,7 @@ public class TestInPlaceUpdatesDistrib extends SolrCloudBridgeTestCase {
     updateExistingThenNonExistentDoc();
     resetDelays();
     // TODO Should we combine all/some of these into a single test, so as to cut down on execution time?
-    // nocommit debug wrong urls used?
+    // MRM TODO: debug wrong urls used?
 //    reorderedDBQIndividualReplicaTest();
 //    resetDelays();
 //    reorderedDeletesTest();
diff --git a/solr/core/src/test/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactoryTest.java
index 9114454..0c7f4ce 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactoryTest.java
@@ -110,7 +110,7 @@ public class AddSchemaFieldsUpdateProcessorFactoryTest extends UpdateProcessorTe
     assertNotNull(schema.getFieldOrNull(fieldName));
     assertTrue(schema.getFieldType(fieldName).getTypeName().equals("pdoubles") || schema.getFieldType(fieldName).getTypeName().equals("pfloats"));
     assertU(commit());
-    // nocommit - currently double or float
+    // MRM TODO: - currently double or float
    // assertQ(req("id:2"), "//arr[@name='" + fieldName + "']/float[.='" + floatValue.toString() + "']");
   }
 
@@ -210,7 +210,7 @@ public class AddSchemaFieldsUpdateProcessorFactoryTest extends UpdateProcessorTe
     core.close();
     assertNotNull(schema.getFieldOrNull(fieldName1));
     assertNotNull(schema.getFieldOrNull(fieldName2));
-    // nocommit - can be either order, not consistent
+    // MRM TODO: - can be either order, not consistent
 //    assertEquals("pdoubles", schema.getFieldType(fieldName1).getTypeName());
 //    assertEquals("plongs", schema.getFieldType(fieldName2).getTypeName());
     assertU(commit());
diff --git a/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
index ca3d666..ab0ba18 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
@@ -277,7 +277,7 @@ public class AtomicUpdateProcessorFactoryTest extends SolrTestCaseJ4 {
         req("q", "cat:(" + queryString.toString() + ")")
         , "//result[@numFound=1]");
 
-    // nocommit - debug something off here, finds no docs, wrong finalCount computation?
+    // MRM TODO: - debug something off here, finds no docs, wrong finalCount computation?
 //    assertQ("Check the total number of docs",
 //        req("q", "int_i:" + finalCount)
 //        , "//result[@numFound=1]");
diff --git a/solr/core/src/test/org/apache/solr/update/processor/TestDocBasedVersionConstraints.java b/solr/core/src/test/org/apache/solr/update/processor/TestDocBasedVersionConstraints.java
index ea37880..6e8f98f 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/TestDocBasedVersionConstraints.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/TestDocBasedVersionConstraints.java
@@ -440,7 +440,7 @@ public class TestDocBasedVersionConstraints extends SolrTestCaseJ4 {
    * Constantly hammer the same doc with multiple concurrent threads and diff versions,
    * confirm that the highest version wins.
    */
-  @Ignore // nocommit - something not air tight about DocBasedVersionConstraintsProcessor?
+  @Ignore // MRM TODO: - something not air tight about DocBasedVersionConstraintsProcessor?
   public void testConcurrentAdds() throws Exception {
     final int NUM_DOCS = SolrTestUtil.atLeast(50);
     final int MAX_CONCURENT = SolrTestUtil.atLeast(10);
diff --git a/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
index 4d3d11a..fbec659 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/TolerantUpdateProcessorTest.java
@@ -246,7 +246,7 @@ public class TolerantUpdateProcessorTest extends UpdateProcessorTestBase {
                                              "count(//arr[@name='errors']/lst)=0"));
     
     response = update("tolerant-chain-max-errors-10", delQ("invalidfield:1"));
-    // nocommit
+    // MRM TODO:
 //    assertNull(BaseTestHarness.validateXPath
 //               (solrConfig.getResourceLoader(), response,
 //                "//int[@name='status']=0",
diff --git a/solr/core/src/test/org/apache/solr/util/SimplePostToolTest.java b/solr/core/src/test/org/apache/solr/util/SimplePostToolTest.java
index b41446a..3dd0f60 100644
--- a/solr/core/src/test/org/apache/solr/util/SimplePostToolTest.java
+++ b/solr/core/src/test/org/apache/solr/util/SimplePostToolTest.java
@@ -42,7 +42,7 @@ import org.junit.Test;
  *
  * A MockPageFetcher is used to prevent real HTTP requests from being executed.
  */
-@Ignore // nocommit
+@Ignore // MRM TODO:
 public class SimplePostToolTest extends SolrTestCaseJ4 {
 
   SimplePostTool t_file, t_file_auto, t_file_rec, t_web, t_test;
diff --git a/solr/core/src/test/org/apache/solr/util/TestExportTool.java b/solr/core/src/test/org/apache/solr/util/TestExportTool.java
index a84c79c..ae50509 100644
--- a/solr/core/src/test/org/apache/solr/util/TestExportTool.java
+++ b/solr/core/src/test/org/apache/solr/util/TestExportTool.java
@@ -59,7 +59,7 @@ public class TestExportTool extends SolrCloudTestCase {
     randomizeNumericTypesProperties();
   }
 
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testBasic() throws Exception {
     String COLLECTION_NAME = "globalLoaderColl";
     configureCluster(4)
diff --git a/solr/core/src/test/org/apache/solr/util/TestSafeXMLParsing.java b/solr/core/src/test/org/apache/solr/util/TestSafeXMLParsing.java
index 47ef56a..8b6d803 100644
--- a/solr/core/src/test/org/apache/solr/util/TestSafeXMLParsing.java
+++ b/solr/core/src/test/org/apache/solr/util/TestSafeXMLParsing.java
@@ -30,7 +30,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 
-@Ignore // nocommit fix good XML object reuse change to work with this test
+@Ignore // MRM TODO: fix good XML object reuse change to work with this test
 public class TestSafeXMLParsing extends SolrTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   
diff --git a/solr/core/src/test/org/apache/solr/util/tracing/TestDistributedTracing.java b/solr/core/src/test/org/apache/solr/util/tracing/TestDistributedTracing.java
index 2a71584..57c3964 100644
--- a/solr/core/src/test/org/apache/solr/util/tracing/TestDistributedTracing.java
+++ b/solr/core/src/test/org/apache/solr/util/tracing/TestDistributedTracing.java
@@ -43,7 +43,7 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore // nocommit - does not appear to be fully working, perhaps due to cluster property change ..
+@Ignore // MRM TODO: - does not appear to be fully working, perhaps due to cluster property change ..
 public class TestDistributedTracing extends SolrCloudTestCase {
   private static final String COLLECTION = "collection1";
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/example/files/README.md b/solr/example/files/README.md
index daeb5a3..82e09f4 100644
--- a/solr/example/files/README.md
+++ b/solr/example/files/README.md
@@ -27,14 +27,14 @@ For further explanations, see the frequently asked questions at the end of the g
 * To start Solr, enter the following command (make sure you’ve cd’ed into the directory in which Solr was installed): 
 
 ```
-	bin/solr start 
+    bin/solr start 
 ```
 
 * If you’ve started correctly, you should see the following output:
-	
+    
 ```
-		Waiting to see Solr listening on port 8983 [/]  
-		Started Solr server on port 8983 (pid=<your pid>). Happy searching!
+         Waiting to see Solr listening on port 8983 [/]  
+        Started Solr server on port 8983 (pid=<your pid>). Happy searching!
 ```
 
 ## CREATING THE CORE/COLLECTION
@@ -42,7 +42,7 @@ For further explanations, see the frequently asked questions at the end of the g
 * Before you can index your documents, you’ll need to create a core/collection. Do this by entering:
 
 ```
-		bin/solr create -c files -d example/files/conf
+        bin/solr create -c files -d example/files/conf
 ```
 
 * Now you’ve created a core called “files” using a configuration tuned for indexing and querying rich text files.
@@ -50,14 +50,14 @@ For further explanations, see the frequently asked questions at the end of the g
 * You should see the following response:
 
 ```
-		Creating new core 'files' using command:
-		http://localhost:8983/solr/admin/cores?action=CREATE&name=files&instanceDir=files
-
-		{
-			"responseHeader":{
-				"status":0,
-				"QTime":239},
-			"core":"files"}
+    Creating new core 'files' using command:
+    http://localhost:8983/solr/admin/cores?action=CREATE&name=files&instanceDir=files
+
+    {
+    "responseHeader":{
+    "status":0,
+    "QTime":239},
+    "core":"files"}
 ```
 
 ## INDEXING DOCUMENTS
@@ -65,21 +65,21 @@ For further explanations, see the frequently asked questions at the end of the g
 * Return to your command shell. To post all of your documents to the documents core, enter the following: 
 
 ```
-		bin/post -c files ~/Documents
+    bin/post -c files ~/Documents
 ```
 
 * Depending on how many documents you have, this could take a while. Sit back and watch the magic happen. When all of your documents have been indexed you’ll see something like:
 
 ```
-		<some number> files indexed.
-		COMMITting Solr index changes to http://localhost:8983/solr/files/update...
-		Time spent: <some amount of time>
+    <some number> files indexed.
+    COMMITting Solr index changes to http://localhost:8983/solr/files/update...
+    Time spent: <some amount of time>
 ```
-		
+    
 * To see a list of accepted file types, do:
 
 ```
-  	  	bin/post -h
+            bin/post -h
 ```
 
 ## BROWSING DOCUMENTS
@@ -89,18 +89,18 @@ For further explanations, see the frequently asked questions at the end of the g
 * To view your document information in the HTML interface view, adjust the URL in your address bar to [http://localhost:8983/solr/files/browse](http://localhost:8983/solr/files/browse)
 
 * To view your document information in XML or other formats, add &wt (for writer type) to the end of that URL. i.e. To view your results in xml format direct your browser to:
-	[http://localhost:8983/solr/files/browse?&wt=xml](http://localhost:8983/solr/files/browse?&wt=xml)
+    [http://localhost:8983/solr/files/browse?&wt=xml](http://localhost:8983/solr/files/browse?&wt=xml)
 
 ## ADMIN UI
 
 * Another way to verify that your core has been created is to view it in the Admin User Interface.
 
-	- The Admin_UI serves as a visual tool for indexing and querying your index in Solr.
+    - The Admin_UI serves as a visual tool for indexing and querying your index in Solr.
 
 * To access the Admin UI, go to your browser and visit :
-	[http://localhost:8983/solr/](http://localhost:8983/solr/)
+    [http://localhost:8983/solr/](http://localhost:8983/solr/)
 
-	- <i>The Admin UI is only accessible when Solr is running</i>
+    - <i>The Admin UI is only accessible when Solr is running</i>
 
 * On the left-hand side of the home page, click on “Core Selector”. The core you created, called “files” should be listed there; click on it. If it’s not listed, your core was not created and you’ll need to re-enter the create command.
 * Alternatively, you could just go to the core page directly by visiting : [http://localhost:8983/solr/#/files](http://localhost:8983/solr/#/files)
@@ -124,26 +124,26 @@ For further explanations, see the frequently asked questions at the end of the g
 ## FAQs
 
 * Why use -d when creating a core?
-	* -d specifies a specific configuration to use.  This example as a configuration tuned for indexing and query rich
-	  text files.
-	
+    * -d specifies a specific configuration to use.  This example as a configuration tuned for indexing and query rich
+      text files.
+    
 * How do I delete a core?
   * To delete a core (i.e. files), you can enter the following in your command shell:
-	
+    
     ```
     bin/solr delete -c files
     ```
  
   * You should see the following output:
-	
-	Deleting core 'files' using command:
-		
-	```
-	http://localhost:8983/solr/admin/cores?action=UNLOAD&core=files&deleteIndex=true&deleteDataDir=true&deleteInstanceDir=true
     
-	{"responseHeader":{
-		"status":0,
-		"QTime":19}}
+    Deleting core 'files' using command:
+    
+    ```
+    http://localhost:8983/solr/admin/cores?action=UNLOAD&core=files&deleteIndex=true&deleteDataDir=true&deleteInstanceDir=true
+    
+    {"responseHeader":{
+    "status":0,
+    "QTime":19}}
     ```
   
   * This calls the Solr core admin handler, "UNLOAD", and the parameters "deleteDataDir" and "deleteInstanceDir" to ensure that all data associated with core is also removed
@@ -153,7 +153,7 @@ For further explanations, see the frequently asked questions at the end of the g
     The primary templates are under example/files/conf/velocity.  **In order to edit those files in place (without having to
     re-create or patch a core/collection with an updated configuration)**, Solr can be started with a special system property
     set to the _absolute_ path to the conf/velocity directory, like this: 
-	
+    
     ```
     bin/solr start -Dvelocity.template.base.dir=</full/path/to>/example/files/conf/velocity/
     ```
diff --git a/solr/server/solr/configsets/sample_techproducts_configs/conf/velocity/README.md b/solr/server/solr/configsets/sample_techproducts_configs/conf/velocity/README.md
index 05c6d43..34ef631 100644
--- a/solr/server/solr/configsets/sample_techproducts_configs/conf/velocity/README.md
+++ b/solr/server/solr/configsets/sample_techproducts_configs/conf/velocity/README.md
@@ -5,7 +5,7 @@ Solr Search Velocity Templates
 A quick demo of using Solr using http://wiki.apache.org/solr/VelocityResponseWriter
 
 You typically access these templates via:
-	http://localhost:8983/solr/collection1/browse
+http://localhost:8983/solr/collection1/browse
 
 It's called "browse" because you can click around with your mouse
 without needing to type any search terms.  And of course it
@@ -13,7 +13,7 @@ also works as a standard search app as well.
 
 Known Limitations
 -----------------
-* The /browse and the VelocityResponseWriter component
+* The /browse and the VelocityResponseWriter component 
   serve content directly from Solr, which usually requires
   Solr's HTTP API to be exposed.  Advanced users could
   potentially access other parts of Solr directly.
@@ -31,9 +31,9 @@ are immediately visible in browser on the next visit.
 
 Links:
 
-	http://velocity.apache.org
-	http://wiki.apache.org/velocity/
-	http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html
+    http://velocity.apache.org
+    http://wiki.apache.org/velocity/
+    http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html
 
 
 File List
diff --git a/solr/solrj/src/java/org/apache/solr/cli/AclParser.java b/solr/solrj/src/java/org/apache/solr/cli/AclParser.java
index 8249617..ef7be0d 100644
--- a/solr/solrj/src/java/org/apache/solr/cli/AclParser.java
+++ b/solr/solrj/src/java/org/apache/solr/cli/AclParser.java
@@ -32,8 +32,7 @@ public class AclParser {
 
     /**
      * parse string into list of ACL
-     * @param aclString
-     * @return
+     * @param aclString to parse
      */
     public static List<ACL> parse(String aclString) {
         List<ACL> acl;
diff --git a/solr/solrj/src/java/org/apache/solr/cli/CliCommand.java b/solr/solrj/src/java/org/apache/solr/cli/CliCommand.java
index ff1f941..bff234f 100644
--- a/solr/solrj/src/java/org/apache/solr/cli/CliCommand.java
+++ b/solr/solrj/src/java/org/apache/solr/cli/CliCommand.java
@@ -54,7 +54,6 @@ public abstract class CliCommand {
 
     /**
      * Set out printStream (usable for testing)
-     * @param out
      */
     public void setOut(PrintStream out) {
         this.out = out;
@@ -62,7 +61,6 @@ public abstract class CliCommand {
 
     /**
      * Set err printStream (usable for testing)
-     * @param err
      */
     public void setErr(PrintStream err) {
         this.err = err;
@@ -86,7 +84,6 @@ public abstract class CliCommand {
 
     /**
      * get the string used to call this command
-     * @return
      */
     public String getCmdStr() {
         return cmdStr;
@@ -94,7 +91,6 @@ public abstract class CliCommand {
 
     /**
      * get the option string
-     * @return
      */
     public String getOptionStr() {
         return optionStr;
@@ -102,7 +98,6 @@ public abstract class CliCommand {
 
     /**
      * get a usage string, contains the command and the options
-     * @return
      */
     public String getUsageStr() {
         return cmdStr + " " + optionStr;
@@ -110,7 +105,7 @@ public abstract class CliCommand {
 
     /**
      * add this command to a map. Use the command string as key.
-     * @param cmdMap
+     * @param cmdMap to use
      */
     public void addToMap(Map<String,CliCommand> cmdMap) {
         cmdMap.put(cmdStr, this);
@@ -118,16 +113,15 @@ public abstract class CliCommand {
 
     /**
      * parse the command arguments
-     * @param cmdArgs
+     * @param cmdArgs to use
      * @return this CliCommand
-     * @throws CliParseException
+     * @throws CliParseException on exception
      */
     public abstract CliCommand parse(String[] cmdArgs) throws CliParseException;
 
     /**
      *
-     * @return
-     * @throws CliException
+     * @throws CliException on exception
      */
     public abstract boolean exec() throws CliException;
 
diff --git a/solr/solrj/src/java/org/apache/solr/cli/DelQuotaCommand.java b/solr/solrj/src/java/org/apache/solr/cli/DelQuotaCommand.java
index d427bf5..6f0f6aa 100644
--- a/solr/solrj/src/java/org/apache/solr/cli/DelQuotaCommand.java
+++ b/solr/solrj/src/java/org/apache/solr/cli/DelQuotaCommand.java
@@ -149,9 +149,9 @@ public class DelQuotaCommand extends CliCommand {
      * @param path the path to start from and go up and see if their is any
      * unwanted parent in the path.
      * @return true if successful
-     * @throws KeeperException
-     * @throws IOException
-     * @throws InterruptedException
+     * @throws KeeperException on zk exception
+     * @throws IOException on ioexception
+     * @throws InterruptedException on interruption
      */
     private static boolean trimProcQuotas(
         ZooKeeper zk,
diff --git a/solr/solrj/src/java/org/apache/solr/cli/DeleteCollectionCommand.java b/solr/solrj/src/java/org/apache/solr/cli/DeleteCollectionCommand.java
index df5a68c..653bc8a 100644
--- a/solr/solrj/src/java/org/apache/solr/cli/DeleteCollectionCommand.java
+++ b/solr/solrj/src/java/org/apache/solr/cli/DeleteCollectionCommand.java
@@ -19,7 +19,6 @@
 package org.apache.solr.cli;
 
 import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.Option;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.Parser;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
index cb97695..200701e 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
@@ -180,7 +180,7 @@ public class Http2SolrClient extends SolrClient {
     }
     int moar = 512;
     if (builder.maxOutstandingAsyncRequests != null) moar = builder.maxOutstandingAsyncRequests;
-    asyncTracker = new AsyncTracker(moar); // nocommit
+    asyncTracker = new AsyncTracker(moar); // MRM TODO:
     this.headers = builder.headers;
     this.strictEventOrdering = builder.strictEventOrdering;
 
@@ -227,7 +227,7 @@ public class Http2SolrClient extends SolrClient {
       sslContextFactory = builder.sslConfig.createClientContextFactory();
       ssl = true;
     }
-    // nocommit - look at config again as well
+    // MRM TODO: - look at config again as well
     int minThreads = Integer.getInteger("solr.minHttp2ClientThreads", PROC_COUNT);
 
     minThreads = Math.min( builder.maxThreadPoolSize, minThreads);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java
index 0f750b6e..c1e4e9c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java
@@ -75,16 +75,16 @@ public class LBHttp2SolrClient extends LBSolrClient {
 
   public LBHttp2SolrClient(Http2SolrClient httpClient, String... baseSolrUrls) {
     super(Arrays.asList(baseSolrUrls));
-    // nocommit - should only be internal for us
+    // MRM TODO: - should only be internal for us
     this.httpClient = new Http2SolrClient.Builder().withHttpClient(httpClient).markInternalRequest().build();
   }
 
   public LBHttp2SolrClient(String... baseSolrUrls) {
     super(Arrays.asList(baseSolrUrls));
-    // nocommit - should only be internal for us
+    // MRM TODO: - should only be internal for us
     this.httpClient = new Http2SolrClient.Builder().markInternalRequest()
-        // .withResponseParser(responseParser) // nocommit
-        // .allowCompression(compression) // nocommit
+        // .withResponseParser(responseParser) // MRM TODO:
+        // .allowCompression(compression) // MRM TODO:
         .build();
   }
 
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
index dba11bd..edccc0f 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
@@ -133,7 +133,7 @@ public class LBHttpSolrClient extends LBSolrClient {
         .withHttpClient(httpClient));
   }
 
-  // nocommit
+  // MRM TODO:
   public LBHttpSolrClient(Http2SolrClient solrClient) {
     super(Collections.emptyList());
     assert ObjectReleaseTracker.track(this);
@@ -184,7 +184,7 @@ public class LBHttpSolrClient extends LBSolrClient {
     SolrClient client;
     if (http2SolrClientBuilder != null) {
       synchronized (this) {
-        // nocommit - should only be internal for us
+        // MRM TODO: - should only be internal for us
         http2SolrClientBuilder
                 .withBaseUrl(server)
                 .markInternalRequest()
diff --git a/solr/solrj/src/java/org/apache/solr/common/ParWork.java b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
index 347ae1c..2359427 100644
--- a/solr/solrj/src/java/org/apache/solr/common/ParWork.java
+++ b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
@@ -383,7 +383,7 @@ public class ParWork implements Closeable {
                   try {
                     future.get(
                         Long.getLong("solr.parwork.task_timeout", TimeUnit.MINUTES.toMillis(10)),
-                        TimeUnit.MILLISECONDS); // nocommit
+                        TimeUnit.MILLISECONDS); // MRM TODO:
                     if (!future.isDone() || future.isCancelled()) {
                       log.warn("A task did not finish isDone={} isCanceled={}",
                           future.isDone(), future.isCancelled());
@@ -673,7 +673,7 @@ public class ParWork implements Closeable {
 
     public SolrFutureTask(String label, Callable callable) {
       super(callable);
-      label = label;
+      this.label = label;
       callerThreadAllowed = true;
       callerThreadUsesAvailableLimit = false;
     }
diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrThread.java b/solr/solrj/src/java/org/apache/solr/common/SolrThread.java
index 24bd35a..16003b0 100644
--- a/solr/solrj/src/java/org/apache/solr/common/SolrThread.java
+++ b/solr/solrj/src/java/org/apache/solr/common/SolrThread.java
@@ -12,7 +12,7 @@ public class SolrThread extends Thread {
 
 //    Thread createThread = Thread.currentThread();
 //    if (createThread instanceof SolrThread) {
-//      // nocommit - disabled for now
+//      // MRM TODO: - disabled for now
 //      ExecutorService service = null;//((SolrThread) createThread).getExecutorService();
 //      if (service == null) {
 //        createExecutorService();
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
index badb5db..4981080 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ConnectionManager.java
@@ -243,7 +243,7 @@ public class ConnectionManager implements Watcher, Closeable {
         connected = true;
         if (isClosed()) return;
         if (log.isDebugEnabled()) log.debug("zkClient has connected");
-        // nocommit - maybe use root shared
+        // MRM TODO: - maybe use root shared
         client.zkConnManagerCallbackExecutor.execute(() -> {
           connected();
         });
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
index ff7e929..20a3c5e 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
@@ -718,7 +718,7 @@ public class SolrZkClient implements Closeable {
       throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
     }
 
-    // nocommit, still haackey, do fails right
+    // MRM TODO:, still haackey, do fails right
     if (code[0] != 0) {
       KeeperException e = KeeperException.create(KeeperException.Code.get(code[0]), path[0]);
       throw e;
@@ -804,12 +804,12 @@ public class SolrZkClient implements Closeable {
       keeper.delete(path, -1, (rc, path1, ctx) -> {
         try {
           // MRM TODO:
-          if (log.isDebugEnabled()) log.debug("async delete resp rc={}, path1={}, ctx={}", rc, path1, ctx);
+          if (log.isDebugEnabled()) {
+            log.debug("async delete resp rc={}, path1={}, ctx={}", rc, path1, ctx);
+          }
           if (rc != 0) {
             log.error("got zk error deleting paths {}", rc);
             KeeperException e = KeeperException.create(KeeperException.Code.get(rc), path1);
-
-
             if (e instanceof NoNodeException) {
               if (log.isDebugEnabled()) log.debug("Problem removing zk node {}", path1);
             } else {
@@ -825,14 +825,16 @@ public class SolrZkClient implements Closeable {
 
     }
 
-    if (log.isDebugEnabled()) log.debug("done with all paths, see if wait ... wait={}", wait);
+    if (log.isDebugEnabled()) {
+      log.debug("done with all paths, see if wait ... wait={}", wait);
+    }
     if (wait) {
       TimeOut timeout = new TimeOut(30, TimeUnit.SECONDS, TimeSource.NANO_TIME);
       boolean success = false;
       while (!timeout.hasTimedOut() && !isClosed) {
         if (!connManager.getKeeper().getState().isConnected()) {
           try {
-            connManager.waitForConnected(60000);
+            connManager.waitForConnected(30000);
           } catch (TimeoutException e) {
             throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
           } catch (InterruptedException e) {
@@ -845,7 +847,7 @@ public class SolrZkClient implements Closeable {
           throw ke[0];
         }
         try {
-          success = latch.await(3, TimeUnit.SECONDS);
+          success = latch.await(2, TimeUnit.SECONDS);
           if (log.isDebugEnabled()) log.debug("done waiting on latch, success={}", success);
           if (success) {
             break;
@@ -856,18 +858,14 @@ public class SolrZkClient implements Closeable {
           throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
         }
       }
-
-      if (!success) {
-        SolrException e = new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Timeout waiting for operations to complete");
-        log.error("failed, throw an exception, success={}", success, e);
-        throw e;
-      }
     }
 
     if (ke[0] != null) {
       throw ke[0];
     }
-    if (log.isDebugEnabled()) log.debug("done with delete {} {}", paths, wait);
+    if (log.isDebugEnabled()) {
+      log.debug("done with delete {} {}", paths, wait);
+    }
   }
 
   // Calls setData for a list of existing paths in parallel
@@ -907,7 +905,7 @@ public class SolrZkClient implements Closeable {
 
   public String mkdir(String path, byte[] data, CreateMode createMode) throws KeeperException, InterruptedException {
     if (log.isDebugEnabled()) log.debug("mkdir path={}", path);
-    boolean retryOnConnLoss = true; // nocommit
+    boolean retryOnConnLoss = true; // MRM TODO:
     if (retryOnConnLoss) {
       ZkCmdExecutor.retryOperation(zkCmdExecutor, new CreateZkOperation(path, data, createMode));
     } else {
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index 9b7384b..6e61f2c 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -234,7 +234,7 @@ public class ZkStateReader implements SolrCloseable, Replica.NodeNameToBaseUrl {
 
   private final Set<ClusterPropertiesListener> clusterPropertiesListeners = ConcurrentHashMap.newKeySet();
 
-  private static final long LAZY_CACHE_TIME = TimeUnit.NANOSECONDS.convert(15000, TimeUnit.MILLISECONDS); // nocommit
+  private static final long LAZY_CACHE_TIME = TimeUnit.NANOSECONDS.convert(15000, TimeUnit.MILLISECONDS); // MRM TODO:
 
   private volatile Future<?> collectionPropsCacheCleaner; // only kept to identify if the cleaner has already been started.
   private volatile String node = null;
@@ -335,7 +335,7 @@ public class ZkStateReader implements SolrCloseable, Replica.NodeNameToBaseUrl {
 
 
   public ZkStateReader(String zkServerAddress, int zkClientTimeout, int zkClientConnectTimeout) {
-    // nocommit check this out
+    // MRM TODO: check this out
     assert (closeTracker = new CloseTracker()) != null;
     this.zkClient = new SolrZkClient(zkServerAddress, zkClientTimeout, zkClientConnectTimeout,
             // on reconnect, reload cloud info
@@ -1039,7 +1039,7 @@ public class ZkStateReader implements SolrCloseable, Replica.NodeNameToBaseUrl {
       ZkCoreNodeProps leaderProps = new ZkCoreNodeProps(ZkNodeProps.load(data));
       String name = leaderProps.getNodeProps().getStr(ZkStateReader.CORE_NAME_PROP);
       leaderProps.getNodeProps().getProperties().remove(ZkStateReader.CORE_NAME_PROP);
-      // nocommit - right key for leader name?
+      // MRM TODO: - right key for leader name?
       return new Replica(name, leaderProps.getNodeProps().getProperties(), collection, slice, this);
 
     } catch (KeeperException.NoNodeException e) {
@@ -2574,7 +2574,7 @@ public class ZkStateReader implements SolrCloseable, Replica.NodeNameToBaseUrl {
     public boolean update() throws KeeperException, InterruptedException {
       log.debug("Checking ZK for most up to date Aliases {}", ALIASES);
       // Call sync() first to ensure the subsequent read (getData) is up to date.
-      // nocommit
+      // MRM TODO:
       zkClient.getSolrZooKeeper().sync(ALIASES, null, null);
       Stat stat = new Stat();
       final byte[] data = zkClient.getData(ALIASES, null, stat, true);
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ObjectReleaseTracker.java b/solr/solrj/src/java/org/apache/solr/common/util/ObjectReleaseTracker.java
index bde8c0b..2463cef 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/ObjectReleaseTracker.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/ObjectReleaseTracker.java
@@ -74,7 +74,7 @@ public class ObjectReleaseTracker {
    * @param object tmp feature allowing to ignore and close an object
    */
   public static String checkEmpty(String object) {
-   // if (true) return null; // nocommit
+   // if (true) return null; // MRM TODO:
     StringBuilder error = new StringBuilder();
     HashMap<Object,ObjectTrackerException> entries = new HashMap<>(OBJECTS);
 
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java b/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java
index 0e7b269..eefde354 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java
@@ -103,7 +103,7 @@ public class SolrScheduledExecutorScheduler extends AbstractLifeCycle implements
     if (fscheduler != null) {
       fscheduler.shutdown();
       super.doStop();
-      fscheduler.awaitTermination(1, TimeUnit.SECONDS); // nocommit - trying something
+      fscheduler.awaitTermination(1, TimeUnit.SECONDS); // MRM TODO: - trying something
       if (!scheduler.isTerminated()) fscheduler.shutdownNow();
     }
     scheduler = null;
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
index ef80aaa..373dbcf 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
@@ -55,7 +55,7 @@ public class SolrExampleJettyTest extends SolrExampleTests {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
   @Test
-  @Ignore // nocommit ~ debug
+  @Ignore // MRM TODO: ~ debug
   public void testBadSetup() {
     // setup the server...
     String url = "http" + (isSSLMode() ? "s" : "") +  "://127.0.0.1/?core=xxx";
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingBinaryHttp2Test.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingBinaryHttp2Test.java
index 98b46fe..10f7cd6 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingBinaryHttp2Test.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingBinaryHttp2Test.java
@@ -38,7 +38,7 @@ import org.junit.Test;
 
 @LuceneTestCase.Slow
 @SolrTestCaseJ4.SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
-@Ignore // nocommit - mrm: some fails to look deeper at here
+@Ignore // MRM TODO: - mrm: some fails to look deeper at here
 public class SolrExampleStreamingBinaryHttp2Test extends SolrExampleStreamingHttp2Test {
 
   public SolrClient createNewSolrClient(JettySolrRunner jetty) {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
index b0131eb..da96fb5 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingHttp2Test.java
@@ -32,7 +32,7 @@ import org.apache.solr.client.solrj.request.UpdateRequest;
 import org.apache.solr.common.SolrInputDocument;
 import org.junit.Ignore;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class SolrExampleStreamingHttp2Test extends SolrExampleTests {
 
   public SolrClient createNewSolrClient(JettySolrRunner jetty)
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
index 3f61fb7..1cc4ca8 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
@@ -202,7 +202,7 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase {
   }
   
   @Test
-  @Ignore // nocommit changed for http2
+  @Ignore // MRM TODO: changed for http2
   public void testCompression() throws Exception {
     final SolrQuery q = new SolrQuery("*:*");
     
@@ -261,7 +261,7 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase {
   }
 
   @Test
-  @Ignore // nocommit flakey
+  @Ignore // MRM TODO: flakey
   public void testGetRawStream() throws SolrServerException, IOException{
     CloseableHttpClient client = HttpClientUtil.createClient(null);
     try {
@@ -296,7 +296,7 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase {
    * Ensure cookies are actually set and that request is actually changed
    */
   @Test
-  @Ignore // nocommit changed for http2
+  @Ignore // MRM TODO: changed for http2
   public void testInterceptors() {
     DebugServlet.clear();
     HttpClientUtil.addRequestInterceptor(changeRequestInterceptor);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientRetryTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientRetryTest.java
index 8d306b9..adb1ee6 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientRetryTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientRetryTest.java
@@ -36,7 +36,7 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit ~ still a bit flakey when run in the suite, usually passes in the IDE though
+@Ignore // MRM TODO: ~ still a bit flakey when run in the suite, usually passes in the IDE though
 public class CloudHttp2SolrClientRetryTest extends SolrCloudTestCase {
   private static final int NODE_COUNT = 1;
 
@@ -75,7 +75,7 @@ public class CloudHttp2SolrClientRetryTest extends SolrCloudTestCase {
               UpdateRequest req = new UpdateRequest();
               req.add(new SolrInputDocument("id", "2"));
               req.setCommitWithin(-1);
-              req.setParam("maxErrors", "0"); // nocommit: did the default change for single doc adds?
+              req.setParam("maxErrors", "0"); // MRM TODO:: did the default change for single doc adds?
               req.process(solrClient, collectionName);
             });
       } finally {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
index 2f4754d..ea6886c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
@@ -761,7 +761,7 @@ public class CloudHttp2SolrClientTest extends SolrCloudTestCase {
   public ExpectedException exception = ExpectedException.none();
 
   @Test
-  @Ignore // nocommit ~ getting "org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /aliases.json"
+  @Ignore // MRM TODO: ~ getting "org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /aliases.json"
   public void testWrongZkChrootTest() throws IOException {
 
     exception.expect(SolrException.class);
@@ -865,7 +865,7 @@ public class CloudHttp2SolrClientTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit
+  @Ignore // MRM TODO:
   public void testRetryUpdatesWhenClusterStateIsStale() throws Exception {
     final String COL = "stale_state_test_col";
     assert cluster.getJettySolrRunners().size() >= 2;
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientCacheTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientCacheTest.java
index e91bed5..eaf9dde 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientCacheTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientCacheTest.java
@@ -52,7 +52,7 @@ public class CloudSolrClientCacheTest extends SolrTestCaseJ4 {
     assumeWorkingMockito();
   }
 
-  @Ignore // nocommit flakey or counts on more than 1 retry?
+  @Ignore // MRM TODO: flakey or counts on more than 1 retry?
   public void testCaching() throws Exception {
     String collName = "gettingstarted";
     Set<String> livenodes = new HashSet<>();
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientRetryTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientRetryTest.java
index 947a7d5..84a4578 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientRetryTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientRetryTest.java
@@ -81,7 +81,7 @@ public class CloudSolrClientRetryTest extends SolrCloudTestCase {
             UpdateRequest req = new UpdateRequest();
             req.add(new SolrInputDocument("id", "2"));
             req.setCommitWithin(-1);
-            req.setParam("maxErrors", "0"); // nocommit: did the default change for single doc adds?
+            req.setParam("maxErrors", "0"); // MRM TODO:: did the default change for single doc adds?
             req.process(solrClient, collectionName);
           });
     } finally {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
index 016f0a5..bed9caf 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
@@ -667,7 +667,7 @@ public class CloudSolrClientTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit ~ hangs, possibly related to creating collections with processAsync
+  @Ignore // MRM TODO: ~ hangs, possibly related to creating collections with processAsync
   public void checkCollectionParameters() throws Exception {
 
     try (CloudSolrClient client = SolrTestCaseJ4.getCloudSolrClient(cluster.getZkServer().getZkAddress())) {
@@ -796,7 +796,7 @@ public class CloudSolrClientTest extends SolrCloudTestCase {
   public ExpectedException exception = ExpectedException.none();
 
   @Test
-  @Ignore // nocommit ~ getting a NoNodeException instead of the exepcted SolrException
+  @Ignore // MRM TODO: ~ getting a NoNodeException instead of the exepcted SolrException
   public void testWrongZkChrootTest() throws IOException {
     try (CloudSolrClient client = SolrTestCaseJ4.getCloudSolrClient(cluster.getZkServer().getZkAddress() + "/xyz/foo")) {
       client.setZkClientTimeout(1000 * 60);
@@ -1075,7 +1075,7 @@ public class CloudSolrClientTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // flakey test? nocommit
+  @Ignore // flakey test? MRM TODO:
   public void testPing() throws Exception {
     final String testCollection = "ping_test";
     CollectionAdminRequest.createCollection(testCollection, "conf", 2, 1).process(cluster.getSolrClient());
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientMultiCollectionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientMultiCollectionTest.java
index 5aa4bab..c7a23f1 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientMultiCollectionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClientMultiCollectionTest.java
@@ -64,7 +64,7 @@ public class ConcurrentUpdateHttp2SolrClientMultiCollectionTest extends SolrClou
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testEnsureDocumentsSentToCorrectCollection() throws Exception {
     int numTotalDocs = 1000;
     int numExpectedPerCollection = numTotalDocs / 2;
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpClientUtilTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpClientUtilTest.java
index 5ca6e70..0e04580 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpClientUtilTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpClientUtilTest.java
@@ -47,7 +47,7 @@ public class HttpClientUtilTest extends SolrTestCase {
   }
 
   @Test
-  @Ignore // nocommit ~ check SSL related sys prop changes affecting this test
+  @Ignore // MRM TODO: ~ check SSL related sys prop changes affecting this test
   public void testSSLSystemProperties() throws IOException {
 
     assertNotNull("HTTPS scheme could not be created using system defaults",
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttpSolrClientTest.java
index a06e71a..1c9a349 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttpSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttpSolrClientTest.java
@@ -27,7 +27,7 @@ import java.io.IOException;
 /**
  * Test the LBHttpSolrClient.
  */
-// nocommit - checking parser stuff http2solrclient does not have
+// MRM TODO: - checking parser stuff http2solrclient does not have
 public class LBHttpSolrClientTest {
   
   /**
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
index 4fb9de8..754bcd2 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
@@ -31,7 +31,7 @@ import org.apache.solr.common.cloud.ZkStateReader;
 import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class TestCloudSolrClientConnections extends SolrTestCaseJ4 {
 
   @Test
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphExpressionTest.java
index 5866caf..08536ce 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/graph/GraphExpressionTest.java
@@ -851,7 +851,7 @@ public class GraphExpressionTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit debug
+  @Ignore // MRM TODO: debug
   public void testGraphHandler() throws Exception {
 
 
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java
index be5e3a6..3e3b551 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * tests various streaming expressions (via the SolrJ {@link SolrStream} API) against a SolrCloud cluster
  * using both Authenticationand Role based Authorization
  */
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class CloudAuthStreamTest extends SolrCloudTestCase {
     
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/JDBCStreamTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/JDBCStreamTest.java
index ee29eae..2a1035c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/JDBCStreamTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/JDBCStreamTest.java
@@ -49,7 +49,7 @@ import org.junit.*;
 
 @SuppressPointFields(bugUrl="https://issues.apache.org/jira/browse/SOLR-10960")
 @LuceneTestCase.SuppressCodecs({"Lucene3x", "Lucene40","Lucene41","Lucene42","Lucene45"})
-@Ignore // nocommit debug
+@Ignore // MRM TODO: debug
 public class JDBCStreamTest extends SolrCloudTestCase {
 
   private static final String COLLECTIONORALIAS = "jdbc";
@@ -83,7 +83,7 @@ public class JDBCStreamTest extends SolrCloudTestCase {
     configureCluster(4)
         .addConfig("conf", SolrTestUtil.getFile("solrj").toPath().resolve("solr").resolve("configsets").resolve("streaming").resolve("conf"))
         .configure();
-    // nocommit - need alias work
+    // MRM TODO: - need alias work
     boolean useAlias = false;
    // boolean useAlias = random().nextBoolean();
     String collection;
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/SelectWithEvaluatorsTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/SelectWithEvaluatorsTest.java
index 555f27c..e2d72e5 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/SelectWithEvaluatorsTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/SelectWithEvaluatorsTest.java
@@ -60,7 +60,7 @@ public class SelectWithEvaluatorsTest extends SolrCloudTestCase {
         .configure();
     
     String collection;
-    // nocommit - need alias work
+    // MRM TODO: - need alias work
     // useAlias = random().nextBoolean();
     if (useAlias) {
       collection = COLLECTIONORALIAS + "_collection";
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
index c45f2a1..9529882 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
@@ -98,7 +98,7 @@ public class StreamDecoratorTest extends SolrCloudTestCase {
 
     String collection;
 
-    // nocommit - need alias work
+    // MRM TODO: - need alias work
     useAlias = false;
 
     // useAlias = random().nextBoolean();
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
index 6752855..85cf90b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
@@ -85,7 +85,7 @@ public class StreamExpressionTest extends SolrCloudTestCase {
         .configure();
 
     String collection;
-    // nocommit
+    // MRM TODO:
     useAlias = false; //random().nextBoolean();
     if (useAlias) {
       collection = COLLECTIONORALIAS + "_collection";
@@ -1795,7 +1795,7 @@ public class StreamExpressionTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // debug nocommit
+  @Ignore // debug MRM TODO:
   public void testMultiCollection() throws Exception {
 
     CollectionAdminRequest.createCollection("collection2", "conf", 2, 1).process(cluster.getSolrClient());
@@ -2948,7 +2948,7 @@ public class StreamExpressionTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit catching some flakey issue ...
+  @Ignore // MRM TODO: catching some flakey issue ...
   public void testBasicTextLogitStream() throws Exception {
     Assume.assumeTrue(!useAlias);
 
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
index 37e3d58..07631d3 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
@@ -103,7 +103,7 @@ public static void configureCluster() throws Exception {
       .configure();
 
   String collection;
-  // nocommit
+  // MRM TODO:
   useAlias = false; //random().nextBoolean();
   if (useAlias) {
     collection = COLLECTIONORALIAS + "_collection";
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java
index 6614212..9fdf51a 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java
@@ -272,7 +272,7 @@ public class TestCoreAdmin extends AbstractEmbeddedSolrServerTestCase {
   }
   
   @Test
-  @Ignore // nocommit - causes an updatelog leak
+  @Ignore // MRM TODO: - causes an updatelog leak
   public void testReloadCoreAfterFailure() throws Exception {
     cores.shutdown();
     useFactory(null); // use FS factory
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/JsonValidatorTest.java b/solr/solrj/src/test/org/apache/solr/common/util/JsonValidatorTest.java
index 4a0101c..fad7f26 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/JsonValidatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/JsonValidatorTest.java
@@ -60,7 +60,7 @@ public class JsonValidatorTest extends SolrTestCaseJ4  {
     assertNotNull(toJSONString(errs), errs);
     assertTrue(toJSONString(errs), errs.get(0).contains("expected"));
     errs = validator.validateJson(Utils.fromJSONString("{x:y, collections: [ c1 , c2]}"));
-    // nocommit - it's giving ["Unknown field 'x' in object : {\n  \"x\":\"y\",\n  \"collections\":[\n    \"c1\",\n    \"c2\"]}"]
+    // MRM TODO: - it's giving ["Unknown field 'x' in object : {\n  \"x\":\"y\",\n  \"collections\":[\n    \"c1\",\n    \"c2\"]}"]
    // assertTrue(toJSONString(errs), StrUtils.join(errs, '|').contains("Missing required attribute"));
     errs = validator.validateJson(Utils.fromJSONString("{name : x, collections: [ 1 , 2]}"));
     assertFalse(toJSONString(errs), errs.isEmpty());
diff --git a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
index 93210c6..c9a72da 100644
--- a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
@@ -981,7 +981,9 @@ public abstract class BaseDistributedSearchTestCase extends SolrTestCaseJ4 {
     handle.put("rf", SKIPVAL);
     String cmp = compare(a.getResponse(), b.getResponse(), flags, handle);
     if (cmp != null) {
-      log.error("Mismatched responses:\n{}\n{}\nhandle=" + handle, a, b);
+      if (log.isErrorEnabled()) {
+        log.error("Mismatched responses:\n{}\n{}\nhandle={}", a, b, handle);
+      }
       Assert.fail(cmp);
     }
   }
diff --git a/solr/test-framework/src/java/org/apache/solr/CollectionTester.java b/solr/test-framework/src/java/org/apache/solr/CollectionTester.java
index 2cee80f..4339f9f 100644
--- a/solr/test-framework/src/java/org/apache/solr/CollectionTester.java
+++ b/solr/test-framework/src/java/org/apache/solr/CollectionTester.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr;
 
 import org.apache.solr.common.util.StrUtils;
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
index 7613d19..f1e968e 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
@@ -147,7 +147,7 @@ public class SolrTestCase extends Assert {
    * @see <a href="https://issues.apache.org/jira/browse/SOLR-14247">SOLR-14247</a>
    * @see #afterSolrTestCase()
    */
-  public static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+  private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   public static final String[] EMPTY_STRING_ARRAY = new String[0];
 
   public static final boolean TEST_NIGHTLY = LuceneTestCase.TEST_NIGHTLY;
@@ -379,7 +379,7 @@ public class SolrTestCase extends Assert {
       // can generate tons of URL garbage and can happen too often, defaults to false now anyway
       System.setProperty("solr.reloadSPI", "false");
 
-      // nocommit - not used again yet
+      // MRM TODO: - not used again yet
       // System.setProperty("solr.OverseerStateUpdateDelay", "0");
 
       System.setProperty("solr.enableMetrics", "false");
@@ -430,7 +430,7 @@ public class SolrTestCase extends Assert {
 
       System.setProperty("prepRecoveryReadTimeoutExtraWait", "100");
       System.setProperty("validateAfterInactivity", "-1");
-      System.setProperty("leaderVoteWait", "2500"); // this is also apparently controlling how long we wait for a leader on register nocommit
+      System.setProperty("leaderVoteWait", "2500"); // this is also apparently controlling how long we wait for a leader on register MRM TODO:
       System.setProperty("leaderConflictResolveWait", "10000");
 
       System.setProperty("solr.recovery.recoveryThrottle", "0");
@@ -600,12 +600,16 @@ public class SolrTestCase extends Assert {
 //      }
 
       if (clazz != null) {
-        // nocommit - leave this on
+        // MRM TODO: - leave this on
         if (!LuceneTestCase.TEST_NIGHTLY) fail("A " + clazz.getName() + " took too long to close: " + tooLongTime + "\n" + times);
       }
     }
-    log.info("@AfterClass end ------------------------------------------------------");
-    log.info("*******************************************************************");
+    if (log.isInfoEnabled()) {
+      log.info("@AfterClass end ------------------------------------------------------");
+    }
+    if (log.isInfoEnabled()) {
+      log.info("*******************************************************************");
+    }
 
     StartupLoggingUtils.shutdown();
 
@@ -644,7 +648,9 @@ public class SolrTestCase extends Assert {
       interuptThreadWithNameContains.addAll(Arrays.asList(nameContains));
       return;
     }
+
     log.info("Checking leaked threads after test");
+
    // System.out.println("DO FORCED INTTERUPTS");
     //  we need to filter and only do this for known threads? dont want users to count on this behavior unless necessary
     String testThread = Thread.currentThread().getName();
@@ -652,13 +658,15 @@ public class SolrTestCase extends Assert {
     ThreadGroup tg = Thread.currentThread().getThreadGroup();
   //  System.out.println("test group:" + tg.getName());
     Set<Map.Entry<Thread,StackTraceElement[]>> threadSet = Thread.getAllStackTraces().entrySet();
-    log.info("thread count: " + threadSet.size());
+    if (log.isInfoEnabled()) {
+      log.info("thread count={}", threadSet.size());
+    }
     List<Thread> waitThreads = new ArrayList<>();
     for (Map.Entry<Thread,StackTraceElement[]> threadEntry : threadSet) {
       Thread thread = threadEntry.getKey();
       ThreadGroup threadGroup = thread.getThreadGroup();
       if (threadGroup != null) {
-        log.warn("thread is " + thread.getName());
+        log.warn("thread is {}", thread.getName());
         if (threadGroup.getName().equals(tg.getName()) && !(thread.getName().startsWith("SUITE") && thread.getName().endsWith("]"))) {
           if (interrupt(thread, nameContains)) {
             waitThreads.add(thread);
@@ -670,7 +678,7 @@ public class SolrTestCase extends Assert {
         threadGroup = threadGroup.getParent();
         //if (thread.getState().equals(Thread.State.TERMINATED) || nameContains != null && threadGroup.getName().equals(tg.getName())) {
         if (threadGroup.getName().equals(tg.getName())) {
-          log.warn("thread is " + thread.getName());
+          log.warn("thread is {}", thread.getName());
           if (interrupt(thread, nameContains)) {
             waitThreads.add(thread);
           }
@@ -690,17 +698,17 @@ public class SolrTestCase extends Assert {
     }
 
     if (thread.getName().contains("-SendThread")) {
-      log.warn("interrupt on " + thread.getName());
+      log.warn("interrupt on {}",  thread.getName());
       thread.interrupt();
       return true;
     }
     if (thread.getName().contains(ParWork.ROOT_EXEC_NAME + "-")) {
-      log.warn("interrupt on " + thread.getName());
+      log.warn("interrupt on {}", thread.getName());
      // thread.interrupt();
       return false;
     }
     if (interruptThreadListContains(nameContains, thread.getName())) {
-      log.warn("interrupt on " + thread.getName());
+      log.warn("interrupt on {}", thread.getName());
       thread.interrupt();
       return true;
     }
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index 7dec5cc..3b976a2 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -2388,8 +2388,8 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
   public static Http2SolrClient getHttpSolrClient(String url, Http2SolrClient httpClient, ResponseParser responseParser, boolean compression) {
     return new Http2SolrClient.Builder(url)
         .withHttpClient(httpClient)
-       // .withResponseParser(responseParser) // nocommit
-       // .allowCompression(compression) // nocommit
+       // .withResponseParser(responseParser) // MRM TODO:
+       // .allowCompression(compression) // MRM TODO:
         .build();
   }
   
@@ -2401,7 +2401,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
   public static Http2SolrClient getHttpSolrClient(String url, Http2SolrClient httpClient, ResponseParser responseParser) {
     return new Http2SolrClient.Builder(url)
         .withHttpClient(httpClient)
-     //   .withResponseParser(responseParser) // nocommit
+     //   .withResponseParser(responseParser) // MRM TODO:
         .build();
   }
   
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseUtil.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseUtil.java
index 83e1d2c..006cf17 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseUtil.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseUtil.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr;
 
 import org.apache.lucene.util.LuceneTestCase;
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestUtil.java b/solr/test-framework/src/java/org/apache/solr/SolrTestUtil.java
index 42b363c..7e59dec 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestUtil.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestUtil.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr;
 
 import com.carrotsearch.randomizedtesting.RandomizedContext;
@@ -14,14 +30,19 @@ import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.util.RandomizeSSL;
 import org.apache.solr.util.SSLTestConfig;
 import org.junit.Before;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
+import java.lang.invoke.MethodHandles;
 import java.net.URL;
 import java.nio.file.Path;
 import java.util.Iterator;
 
 public class SolrTestUtil {
+  private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
   public SolrTestUtil() {
   }
 
@@ -92,8 +113,8 @@ public class SolrTestUtil {
     }
 
     SSLTestConfig result = sslRandomizer.createSSLTestConfig();
-    if (SolrTestCase.log.isInfoEnabled()) {
-      SolrTestCase.log.info("Randomized ssl ({}) and clientAuth ({}) via: {}", result.isSSLMode(), result.isClientAuthMode(), sslRandomizer.debug);
+    if (log.isInfoEnabled()) {
+      log.info("Randomized ssl ({}) and clientAuth ({}) via: {}", result.isSSLMode(), result.isClientAuthMode(), sslRandomizer.debug);
     }
     return result;
   }
@@ -146,12 +167,12 @@ public class SolrTestUtil {
 
   public static void wait(Thread thread) {
     if (thread.getName().contains("ForkJoinPool.") || thread.getName().contains("Log4j2-")) {
-      SolrTestCase.log.info("Dont wait on ForkJoinPool. or Log4j2-");
+      log.info("Dont wait on ForkJoinPool. or Log4j2-");
       return;
     }
 
     do {
-      SolrTestCase.log.warn("waiting on {} {}", thread.getName(), thread.getState());
+      log.warn("waiting on {} {}", thread.getName(), thread.getState());
       try {
         thread.join(50);
       } catch (InterruptedException e) {
diff --git a/solr/test-framework/src/java/org/apache/solr/TestRuleTemporaryFilesCleanup.java b/solr/test-framework/src/java/org/apache/solr/TestRuleTemporaryFilesCleanup.java
index f89cbd8..37756a7 100644
--- a/solr/test-framework/src/java/org/apache/solr/TestRuleTemporaryFilesCleanup.java
+++ b/solr/test-framework/src/java/org/apache/solr/TestRuleTemporaryFilesCleanup.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr;
 
 import com.carrotsearch.randomizedtesting.RandomizedContext;
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
index 235d16d..140b84d 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
@@ -378,7 +378,9 @@ public class MiniSolrCloudCluster {
       log.info("Cannot wait for Jetty with null node name");
       throw new IllegalArgumentException("Cannot wait for Jetty with null node name");
     }
-    log.info("waitForNode: {}", jetty.getNodeName());
+    if (log.isInfoEnabled()) {
+      log.info("waitForNode: {}", jetty.getNodeName());
+    }
 
     ZkStateReader reader = getSolrClient().getZkStateReader();
 
@@ -779,7 +781,7 @@ public class MiniSolrCloudCluster {
   }
 
   public  void injectChaos(Random random) throws Exception {
-    if (LuceneTestCase.TEST_NIGHTLY && false) { // nocommit
+    if (LuceneTestCase.TEST_NIGHTLY && false) { // MRM TODO:
       synchronized (this) {
         // sometimes we restart one of the jetty nodes
         if (random.nextBoolean()) {
@@ -874,14 +876,19 @@ public class MiniSolrCloudCluster {
   }
 
   public void waitForJettyToStop(JettySolrRunner runner) throws TimeoutException {
-    log.info("waitForJettyToStop: {}", runner.getLocalPort());
+    if (log.isInfoEnabled()) {
+      log.info("waitForJettyToStop: {}", runner.getLocalPort());
+    }
     String nodeName = runner.getNodeName();
     if (nodeName == null) {
-      log.info("Cannot wait for Jetty with null node name");
+      if (log.isInfoEnabled()) {
+        log.info("Cannot wait for Jetty with null node name");}
       return;
     }
 
-    log.info("waitForNode: {}", runner.getNodeName());
+    if (log.isInfoEnabled()) {
+      log.info("waitForNode: {}", runner.getNodeName());
+    }
 
 
     ZkStateReader reader = getSolrClient().getZkStateReader();
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/NoOpenOverseerFoundException.java b/solr/test-framework/src/java/org/apache/solr/cloud/NoOpenOverseerFoundException.java
index 55cb1ec..81ad9a9 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/NoOpenOverseerFoundException.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/NoOpenOverseerFoundException.java
@@ -1,3 +1,19 @@
+/*
+ * 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.solr.cloud;
 
 public class NoOpenOverseerFoundException extends Throwable {
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudAuthTestCase.java b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudAuthTestCase.java
index 790978b..73daa2e 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudAuthTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudAuthTestCase.java
@@ -217,8 +217,10 @@ public class SolrCloudAuthTestCase extends SolrCloudTestCase {
       } finally {
         Utils.readFully(is);
       }
-      // nocommit response?
-      log.info("Got response {} {} {}", url, m, rsp.getStatusLine().getStatusCode() );
+      // MRM TODO: response?
+       if (log.isInfoEnabled()) {
+         log.info("Got response {} {} {}", url, m, rsp.getStatusLine().getStatusCode());
+       }
       if (rsp.getStatusLine().getStatusCode() == 200) {
         break;
       }
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java b/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java
index 7420fa6..686aad9 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java
@@ -167,8 +167,11 @@ public class StoppableIndexingThread extends AbstractFullDistribZkTestBase.Stopp
         }
       }
     }
-    
-    log.info("added docs: {} with {} fails and deletes: {}", numAdds, (addFails.size() + deleteFails.size()), numDeletes);
+
+    if (log.isInfoEnabled()) {
+      int total = addFails.size() + deleteFails.size();
+      log.info("added docs={} with {} fails and deletes={}", numAdds, total, numDeletes);
+    }
   }
   
   @Override
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
index d2881eb..0198cfe 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
@@ -174,7 +174,9 @@ public class ZkTestServer implements Closeable {
 
         startupWait.countDown();
 
-        log.info("ZK Port:" + zooKeeperServer.getClientPort());
+        if (log.isInfoEnabled()) {
+          log.info("ZK Port={}", zooKeeperServer.getClientPort());
+        }
         cnxnFactory.join();
 
       } catch (InterruptedException e) {
@@ -498,7 +500,7 @@ public class ZkTestServer implements Closeable {
   }
 
   public static List<HostPort> parseHostPortList(String hplist) {
-    log.info("parse host and port list: " + hplist);
+    log.info("parse host and port list={}", hplist);
     ArrayList<HostPort> alist = new ArrayList<>();
     for (String hp : hplist.split(",")) {
       int idx = hp.lastIndexOf(':');
@@ -557,7 +559,9 @@ public class ZkTestServer implements Closeable {
     File file = new File(solrhome, "collection1"
             + File.separator + "conf" + File.separator + srcName);
     if (!file.exists()) {
-      log.info("skipping " + file.getAbsolutePath() + " because it doesn't exist");
+      if (log.isInfoEnabled()) {
+        log.info("skipping {} because it doesn't exist", file.getAbsolutePath());
+      }
       return;
     }
 
@@ -565,7 +569,9 @@ public class ZkTestServer implements Closeable {
     if (zkChroot != null) {
       destPath = zkChroot + destPath;
     }
-    log.info("put " + file.getAbsolutePath() + " to " + destPath);
+    if (log.isInfoEnabled()) {
+      log.info("put {} to {}", file.getAbsolutePath(), destPath);
+    }
     zkClient.makePath(destPath, file, false, true);
   }
 
diff --git a/solr/webapp/web/WEB-INF/quickstart-web.xml b/solr/webapp/web/WEB-INF/quickstart-web.xml
index 331c973..8e2b895 100644
--- a/solr/webapp/web/WEB-INF/quickstart-web.xml
+++ b/solr/webapp/web/WEB-INF/quickstart-web.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" metadata-complete="true" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1">
   <context-param>
     <param-name>org.eclipse.jetty.containerInitializers</param-name>