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

vladimirsitnikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new b86754e536 chore: remove mongodb plugin
b86754e536 is described below

commit b86754e53663af161420c2f4e2deda3d77655ad0
Author: Vladimir Sitnikov <[email protected]>
AuthorDate: Fri Oct 31 19:54:43 2025 +0300

    chore: remove mongodb plugin
---
 bin/jmeter.properties                              |   4 +-
 bin/saveservice.properties                         |   2 -
 bin/templates/mongodb.jmx                          | 194 -----------
 bin/templates/templates.xml                        |  23 --
 bin/testfiles/GenTest210.jmx                       |  26 --
 bin/testfiles/GenTest2_13.jmx                      |  27 --
 bin/testfiles/SavedGenTest210.jmx                  |  26 --
 bin/testfiles/SavedGenTest2_13.jmx                 |  27 --
 gradle/verification-keyring.keys                   |  15 -
 gradle/verification-metadata.xml                   |   1 -
 lib/aareadme.txt                                   |   5 -
 settings.gradle.kts                                |   1 -
 src/bom-thirdparty/build.gradle.kts                |   1 -
 src/dist/build.gradle.kts                          |   1 -
 src/dist/src/dist/expected_release_jars.csv        |   1 -
 src/protocol/mongodb/build.gradle.kts              |  28 --
 .../protocol/mongodb/config/MongoDBHolder.java     |  55 ---
 .../mongodb/config/MongoSourceElement.java         | 376 ---------------------
 .../mongodb/config/MongoSourceElementBeanInfo.java | 117 -------
 .../protocol/mongodb/mongo/EvalResultHandler.java  |  66 ----
 .../jmeter/protocol/mongodb/mongo/MongoDB.java     |  76 -----
 .../jmeter/protocol/mongodb/mongo/MongoUtils.java  |  53 ---
 .../mongodb/sampler/MongoScriptRunner.java         |  69 ----
 .../mongodb/sampler/MongoScriptSampler.java        | 140 --------
 .../sampler/MongoScriptSamplerBeanInfo.java        |  73 ----
 .../config/MongoSourceElementResources.properties  |  57 ----
 .../MongoSourceElementResources_fr.properties      |  57 ----
 .../MongoSourceElementResources_ko.properties      |  56 ---
 .../sampler/MongoScriptSamplerResources.properties |  29 --
 .../MongoScriptSamplerResources_fr.properties      |  29 --
 .../MongoScriptSamplerResources_ko.properties      |  28 --
 .../resources/ResourceKeyUsageTestMongodb.java     |  22 --
 xdocs/usermanual/component_reference.xml           | 120 -------
 xdocs/usermanual/properties_reference.xml          |   4 -
 34 files changed, 2 insertions(+), 1807 deletions(-)

diff --git a/bin/jmeter.properties b/bin/jmeter.properties
index bac04e85bc..58c540cfd9 100644
--- a/bin/jmeter.properties
+++ b/bin/jmeter.properties
@@ -202,9 +202,9 @@
 
 #Components to not display in JMeter GUI (GUI class name or static label)
 # These elements are deprecated and will be removed in next version:
-# MongoDB Script, MongoDB Source Config, Monitor Results
+# Monitor Results
 # BSF Elements
-not_in_menu=org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler,org.apache.jmeter.protocol.mongodb.config.MongoSourceElement,\
+not_in_menu=\
     
org.apache.jmeter.timers.BSFTimer,org.apache.jmeter.modifiers.BSFPreProcessor,org.apache.jmeter.extractor.BSFPostProcessor,org.apache.jmeter.assertions.BSFAssertion,\
     
org.apache.jmeter.visualizers.BSFListener,org.apache.jmeter.protocol.java.sampler.BSFSampler,\
     org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui
diff --git a/bin/saveservice.properties b/bin/saveservice.properties
index 60ccfbea37..93ecf25ebc 100644
--- a/bin/saveservice.properties
+++ b/bin/saveservice.properties
@@ -246,8 +246,6 @@ MD5HexAssertion=org.apache.jmeter.assertions.MD5HexAssertion
 MD5HexAssertionGUI=org.apache.jmeter.assertions.gui.MD5HexAssertionGUI
 ModuleController=org.apache.jmeter.control.ModuleController
 ModuleControllerGui=org.apache.jmeter.control.gui.ModuleControllerGui
-MongoScriptSampler=org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler
-MongoSourceElement=org.apache.jmeter.protocol.mongodb.config.MongoSourceElement
 
 # removed in 3.2, class was deleted in r
 MonitorHealthVisualizer=org.apache.jmeter.visualizers.MonitorHealthVisualizer
diff --git a/bin/templates/mongodb.jmx b/bin/templates/mongodb.jmx
deleted file mode 100644
index bc52858c1d..0000000000
--- a/bin/templates/mongodb.jmx
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jmeterTestPlan version="1.2" properties="2.5" jmeter="2.10-SNAPSHOT.20130714">
-  <hashTree>
-    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="MongoDB 
Test Plan" enabled="true">
-      <stringProp name="TestPlan.comments">Shows how to setup a MongoDB 
Test</stringProp>
-      <boolProp name="TestPlan.functional_mode">false</boolProp>
-      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
-      <elementProp name="TestPlan.user_defined_variables" 
elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" 
testname="User Defined Variables" enabled="true">
-        <collectionProp name="Arguments.arguments"/>
-      </elementProp>
-      <stringProp name="TestPlan.user_define_classpath"></stringProp>
-    </TestPlan>
-    <hashTree>
-      <MongoSourceElement guiclass="TestBeanGUI" 
testclass="MongoSourceElement" testname="MongoDB Source Config" enabled="true">
-        <stringProp name="connection">127.0.0.1</stringProp>
-        <stringProp name="source">db</stringProp>
-        <boolProp name="autoConnectRetry">false</boolProp>
-        <intProp name="connectionsPerHost">50</intProp>
-        <intProp name="connectTimeout">0</intProp>
-        <longProp name="maxAutoConnectRetryTime">0</longProp>
-        <intProp name="maxWaitTime">120000</intProp>
-        <intProp name="socketTimeout">0</intProp>
-        <boolProp name="socketKeepAlive">false</boolProp>
-        <intProp 
name="threadsAllowedToBlockForConnectionMultiplier">5</intProp>
-        <boolProp name="safe">false</boolProp>
-        <boolProp name="fsync">false</boolProp>
-        <boolProp name="waitForJournaling">false</boolProp>
-        <intProp name="writeOperationNumberOfServers">0</intProp>
-        <intProp name="writeOperationTimeout">0</intProp>
-        <boolProp name="continueOnInsertError">false</boolProp>
-        <stringProp name="TestPlan.comments">Configures connection to 
MongoDB</stringProp>
-      </MongoSourceElement>
-      <hashTree/>
-      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" 
testname="Thread Group" enabled="true">
-        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
-        <elementProp name="ThreadGroup.main_controller" 
elementType="LoopController" guiclass="LoopControlPanel" 
testclass="LoopController" testname="Loop Controller" enabled="true">
-          <boolProp name="LoopController.continue_forever">false</boolProp>
-          <intProp name="LoopController.loops">-1</intProp>
-        </elementProp>
-        <stringProp name="ThreadGroup.num_threads">1</stringProp>
-        <stringProp name="ThreadGroup.ramp_time">30</stringProp>
-        <longProp name="ThreadGroup.start_time">1367357168000</longProp>
-        <longProp name="ThreadGroup.end_time">1367357168000</longProp>
-        <boolProp name="ThreadGroup.scheduler">false</boolProp>
-        <stringProp name="ThreadGroup.duration">300</stringProp>
-        <stringProp name="ThreadGroup.delay">10</stringProp>
-      </ThreadGroup>
-      <hashTree>
-        <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" 
testname="Insert into testCollection" enabled="true">
-          <stringProp name="scriptLanguage">groovy</stringProp>
-          <stringProp name="parameters"></stringProp>
-          <stringProp name="filename"></stringProp>
-          <stringProp name="cacheKey">insert1</stringProp>
-          <stringProp name="script">import com.mongodb.DB;
-import org.apache.jmeter.protocol.mongodb.config.MongoDBHolder;
-import com.mongodb.WriteResult;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DBCollection;
-import com.mongodb.WriteConcern;
-import com.mongodb.WriteResult;
-
-// Get DB
-com.mongodb.DB db = 
org.apache.jmeter.protocol.mongodb.config.MongoDBHolder.getDBFromSource(&quot;db&quot;,
 &quot;test&quot;);
-
-// Get collection to insert
-DBCollection coll = db.getCollection(&quot;testCollection&quot;);
-BasicDBObject doc = new BasicDBObject(&quot;name&quot;, &quot;MongoDB&quot;).
-                              append(&quot;type&quot;, &quot;database&quot;).
-                              append(&quot;count&quot;, 1).
-                              append(&quot;info&quot;, new 
BasicDBObject(&quot;x&quot;, 203).append(&quot;y&quot;, 102));
-
-// Insert object
-WriteResult wr = coll.insert(doc, WriteConcern.ACKNOWLEDGED);
-
-// Set response data
-SampleResult.setResponseData(&quot;&quot;+wr.toString(),&quot;UTF-8&quot;);</stringProp>
-        </JSR223Sampler>
-        <hashTree>
-          <ResponseAssertion guiclass="AssertionGui" 
testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
-            <collectionProp name="Asserion.test_strings">
-              <stringProp name="-1358912096">&quot;err&quot; :  
null</stringProp>
-            </collectionProp>
-            <stringProp 
name="Assertion.test_field">Assertion.response_data</stringProp>
-            <boolProp name="Assertion.assume_success">false</boolProp>
-            <intProp name="Assertion.test_type">2</intProp>
-          </ResponseAssertion>
-          <hashTree/>
-        </hashTree>
-        <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" 
testname="Count from testCollection" enabled="true">
-          <stringProp name="scriptLanguage">groovy</stringProp>
-          <stringProp name="parameters"></stringProp>
-          <stringProp name="filename"></stringProp>
-          <stringProp name="cacheKey">count1</stringProp>
-          <stringProp name="script">import com.mongodb.DB;
-import org.apache.jmeter.protocol.mongodb.config.MongoDBHolder;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DBObject;
-import com.mongodb.DBCollection;
-
-DB db = MongoDBHolder.getDBFromSource(&quot;db&quot;, &quot;test&quot;);
-
-DBCollection coll = db.getCollection(&quot;testCollection&quot;);
-int size = coll.count();
-SampleResult.setResponseData(&quot;&quot;+size,&quot;UTF-8&quot;);</stringProp>
-        </JSR223Sampler>
-        <hashTree>
-          <ResponseAssertion guiclass="AssertionGui" 
testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
-            <collectionProp name="Asserion.test_strings">
-              <stringProp name="91555">\d+</stringProp>
-            </collectionProp>
-            <stringProp 
name="Assertion.test_field">Assertion.response_data</stringProp>
-            <boolProp name="Assertion.assume_success">false</boolProp>
-            <intProp name="Assertion.test_type">1</intProp>
-          </ResponseAssertion>
-          <hashTree/>
-        </hashTree>
-      </hashTree>
-      <ResultCollector guiclass="ViewResultsFullVisualizer" 
testclass="ResultCollector" testname="View Results Tree" enabled="false">
-        <boolProp name="ResultCollector.error_logging">false</boolProp>
-        <objProp>
-          <name>saveConfig</name>
-          <value class="SampleSaveConfiguration">
-            <time>true</time>
-            <latency>true</latency>
-            <timestamp>true</timestamp>
-            <success>true</success>
-            <label>true</label>
-            <code>true</code>
-            <message>true</message>
-            <threadName>true</threadName>
-            <dataType>false</dataType>
-            <encoding>false</encoding>
-            <assertions>true</assertions>
-            <subresults>false</subresults>
-            <responseData>false</responseData>
-            <samplerData>false</samplerData>
-            <xml>false</xml>
-            <fieldNames>true</fieldNames>
-            <responseHeaders>false</responseHeaders>
-            <requestHeaders>false</requestHeaders>
-            <responseDataOnError>true</responseDataOnError>
-            
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
-            <assertionsResultsToSave>0</assertionsResultsToSave>
-            <bytes>true</bytes>
-            <hostname>true</hostname>
-            <threadCounts>true</threadCounts>
-            <sampleCount>true</sampleCount>
-          </value>
-        </objProp>
-        <stringProp name="filename"></stringProp>
-        <stringProp name="TestPlan.comments">Remove for Load Test</stringProp>
-      </ResultCollector>
-      <hashTree/>
-      <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" 
testname="Aggregate Report" enabled="true">
-        <boolProp name="ResultCollector.error_logging">false</boolProp>
-        <objProp>
-          <name>saveConfig</name>
-          <value class="SampleSaveConfiguration">
-            <time>true</time>
-            <latency>true</latency>
-            <timestamp>true</timestamp>
-            <success>true</success>
-            <label>true</label>
-            <code>true</code>
-            <message>true</message>
-            <threadName>true</threadName>
-            <dataType>false</dataType>
-            <encoding>false</encoding>
-            <assertions>true</assertions>
-            <subresults>false</subresults>
-            <responseData>false</responseData>
-            <samplerData>false</samplerData>
-            <xml>false</xml>
-            <fieldNames>true</fieldNames>
-            <responseHeaders>false</responseHeaders>
-            <requestHeaders>false</requestHeaders>
-            <responseDataOnError>true</responseDataOnError>
-            
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
-            <assertionsResultsToSave>0</assertionsResultsToSave>
-            <bytes>true</bytes>
-            <hostname>true</hostname>
-            <threadCounts>true</threadCounts>
-            <sampleCount>true</sampleCount>
-          </value>
-        </objProp>
-        <stringProp name="filename"></stringProp>
-        <stringProp name="TestPlan.comments">Remove for Load Test</stringProp>
-      </ResultCollector>
-      <hashTree/>
-      <Summariser guiclass="SummariserGui" testclass="Summariser" 
testname="Generate Summary Results" enabled="true"/>
-      <hashTree/>
-    </hashTree>
-  </hashTree>
-</jmeterTestPlan>
diff --git a/bin/templates/templates.xml b/bin/templates/templates.xml
index 65832fc67a..f7c984de0e 100644
--- a/bin/templates/templates.xml
+++ b/bin/templates/templates.xml
@@ -120,29 +120,6 @@
             </ul>
         ]]></description>
     </template>
-    <template isTestPlan="true">
-        <name>MongoDB Load Test</name>
-        <fileName>mongodb.jmx</fileName>
-        <description>
-        <![CDATA[<h1>Template showing how to Load Test MongoDB code using 
MongoDB Java Driver</h1>
-        <h2>JMeter Configuration</h2>
-            <ul>
-                <li>Configure the <b>Server address list</b>, and tune 
<b>MongoDB options</b> in MongoDB Source Config</li>
-                <li>Modify the JSR223 samples (<b>Insert into 
testCollection</b> and <b>Count from testCollection</b>) to match your 
needs</li>
-            </ul>
-        <h2>Mongo Java Driver</h2>
-        <p>
-            MongoDB Source Config configures the connection to MongoDB for you 
and stores in <b>MongoDB Source</b> the configuration.<br/>
-            You can then access it in any Scripting element using:<br/>
-            <i>com.mongodb.DB db = 
org.apache.jmeter.protocol.mongodb.config.MongoDBHolder.getDBFromSource("db", 
"test");<i>
-        </p>
-        <h2>Useful links</h2>
-            <ul>
-                <li><a 
href="http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java-driver";
 >Getting Started with Java Driver (<i>Making a connection</i> part is already 
done by MongoDB Source Config)</a></li>
-                <li><a 
href="http://jmeter.apache.org/usermanual/component_reference.html#MongoDB_Source_Config";
 
>http://jmeter.apache.org/usermanual/component_reference.html#MongoDB_Source_Config</a></li>
-            </ul>
-        ]]></description>
-    </template>
     <template isTestPlan="true">
         <name>Building a Web Test Plan</name>
         <fileName>/bin/templates/build-web-test-plan.jmx</fileName>
diff --git a/bin/testfiles/GenTest210.jmx b/bin/testfiles/GenTest210.jmx
index 125a230701..315898124e 100644
--- a/bin/testfiles/GenTest210.jmx
+++ b/bin/testfiles/GenTest210.jmx
@@ -282,24 +282,6 @@
             <stringProp name="ConfigTestElement.password"></stringProp>
           </ConfigTestElement>
           <hashTree/>
-          <MongoSourceElement guiclass="TestBeanGUI" 
testclass="MongoSourceElement" testname="MongoDB Source Config" enabled="true">
-            <boolProp name="autoConnectRetry">false</boolProp>
-            <stringProp name="connection"></stringProp>
-            <intProp name="connectionsPerHost">10</intProp>
-            <boolProp name="continueOnInsertError">false</boolProp>
-            <boolProp name="fsync">false</boolProp>
-            <longProp name="maxAutoConnectRetryTime">0</longProp>
-            <intProp name="maxWaitTime">120000</intProp>
-            <boolProp name="safe">false</boolProp>
-            <boolProp name="socketKeepAlive">false</boolProp>
-            <intProp name="socketTimeout">0</intProp>
-            <stringProp name="source"></stringProp>
-            <intProp 
name="threadsAllowedToBlockForConnectionMultiplier">5</intProp>
-            <boolProp name="waitForJournaling">false</boolProp>
-            <intProp name="writeOperationNumberOfServers">0</intProp>
-            <intProp name="writeOperationTimeout">0</intProp>
-          </MongoSourceElement>
-          <hashTree/>
           <RandomVariableConfig guiclass="TestBeanGUI" 
testclass="RandomVariableConfig" testname="Random Variable" enabled="true">
             <stringProp name="maximumValue"></stringProp>
             <stringProp name="minimumValue">1</stringProp>
@@ -715,14 +697,6 @@
             <stringProp name="SMTPSampler.trustStoreToUse"></stringProp>
           </MailReaderSampler>
           <hashTree/>
-          <MongoScriptSampler guiclass="TestBeanGUI" 
testclass="MongoScriptSampler" testname="MongoDB Script (alpha)" enabled="true">
-            <stringProp name="database"></stringProp>
-            <stringProp name="password"></stringProp>
-            <stringProp name="source"></stringProp>
-            <stringProp name="username"></stringProp>
-            <stringProp name="script"></stringProp>
-          </MongoScriptSampler>
-          <hashTree/>
           <SystemSampler guiclass="SystemSamplerGui" testclass="SystemSampler" 
testname="OS Process Sampler" enabled="true">
             <boolProp name="SystemSampler.checkReturnCode">false</boolProp>
             <stringProp name="SystemSampler.expectedReturnCode">0</stringProp>
diff --git a/bin/testfiles/GenTest2_13.jmx b/bin/testfiles/GenTest2_13.jmx
index 46a314f399..01ba6b907d 100644
--- a/bin/testfiles/GenTest2_13.jmx
+++ b/bin/testfiles/GenTest2_13.jmx
@@ -279,25 +279,6 @@
             <stringProp name="ConfigTestElement.password"></stringProp>
           </ConfigTestElement>
           <hashTree/>
-          <MongoSourceElement guiclass="TestBeanGUI" 
testclass="MongoSourceElement" testname="MongoDB Source Config" enabled="true">
-            <boolProp name="autoConnectRetry">false</boolProp>
-            <intProp name="connectTimeout">0</intProp>
-            <stringProp name="connection"></stringProp>
-            <intProp name="connectionsPerHost">10</intProp>
-            <boolProp name="continueOnInsertError">false</boolProp>
-            <boolProp name="fsync">false</boolProp>
-            <longProp name="maxAutoConnectRetryTime">0</longProp>
-            <intProp name="maxWaitTime">120000</intProp>
-            <boolProp name="safe">false</boolProp>
-            <boolProp name="socketKeepAlive">false</boolProp>
-            <intProp name="socketTimeout">0</intProp>
-            <stringProp name="source"></stringProp>
-            <intProp 
name="threadsAllowedToBlockForConnectionMultiplier">5</intProp>
-            <boolProp name="waitForJournaling">false</boolProp>
-            <intProp name="writeOperationNumberOfServers">0</intProp>
-            <intProp name="writeOperationTimeout">0</intProp>
-          </MongoSourceElement>
-          <hashTree/>
           <RandomVariableConfig guiclass="TestBeanGUI" 
testclass="RandomVariableConfig" testname="Random Variable" enabled="true">
             <stringProp name="maximumValue"></stringProp>
             <stringProp name="minimumValue">1</stringProp>
@@ -720,14 +701,6 @@
             <stringProp name="SMTPSampler.trustStoreToUse"></stringProp>
           </MailReaderSampler>
           <hashTree/>
-          <MongoScriptSampler guiclass="TestBeanGUI" 
testclass="MongoScriptSampler" testname="MongoDB Script" enabled="true">
-            <stringProp name="database"></stringProp>
-            <stringProp name="password"></stringProp>
-            <stringProp name="source"></stringProp>
-            <stringProp name="username"></stringProp>
-            <stringProp name="script"></stringProp>
-          </MongoScriptSampler>
-          <hashTree/>
           <SystemSampler guiclass="SystemSamplerGui" testclass="SystemSampler" 
testname="OS Process Sampler" enabled="true">
             <boolProp name="SystemSampler.checkReturnCode">false</boolProp>
             <stringProp name="SystemSampler.expectedReturnCode">0</stringProp>
diff --git a/bin/testfiles/SavedGenTest210.jmx 
b/bin/testfiles/SavedGenTest210.jmx
index 24afd960db..34b73bf3df 100644
--- a/bin/testfiles/SavedGenTest210.jmx
+++ b/bin/testfiles/SavedGenTest210.jmx
@@ -282,24 +282,6 @@
             <stringProp name="ConfigTestElement.password"></stringProp>
           </ConfigTestElement>
           <hashTree/>
-          <MongoSourceElement guiclass="TestBeanGUI" 
testclass="MongoSourceElement" testname="MongoDB Source Config" enabled="true">
-            <boolProp name="autoConnectRetry">false</boolProp>
-            <stringProp name="connection"></stringProp>
-            <intProp name="connectionsPerHost">10</intProp>
-            <boolProp name="continueOnInsertError">false</boolProp>
-            <boolProp name="fsync">false</boolProp>
-            <longProp name="maxAutoConnectRetryTime">0</longProp>
-            <intProp name="maxWaitTime">120000</intProp>
-            <boolProp name="safe">false</boolProp>
-            <boolProp name="socketKeepAlive">false</boolProp>
-            <intProp name="socketTimeout">0</intProp>
-            <stringProp name="source"></stringProp>
-            <intProp 
name="threadsAllowedToBlockForConnectionMultiplier">5</intProp>
-            <boolProp name="waitForJournaling">false</boolProp>
-            <intProp name="writeOperationNumberOfServers">0</intProp>
-            <intProp name="writeOperationTimeout">0</intProp>
-          </MongoSourceElement>
-          <hashTree/>
           <RandomVariableConfig guiclass="TestBeanGUI" 
testclass="RandomVariableConfig" testname="Random Variable" enabled="true">
             <stringProp name="maximumValue"></stringProp>
             <stringProp name="minimumValue">1</stringProp>
@@ -715,14 +697,6 @@
             <stringProp name="SMTPSampler.trustStoreToUse"></stringProp>
           </MailReaderSampler>
           <hashTree/>
-          <MongoScriptSampler guiclass="TestBeanGUI" 
testclass="MongoScriptSampler" testname="MongoDB Script (alpha)" enabled="true">
-            <stringProp name="database"></stringProp>
-            <stringProp name="password"></stringProp>
-            <stringProp name="source"></stringProp>
-            <stringProp name="username"></stringProp>
-            <stringProp name="script"></stringProp>
-          </MongoScriptSampler>
-          <hashTree/>
           <SystemSampler guiclass="SystemSamplerGui" testclass="SystemSampler" 
testname="OS Process Sampler" enabled="true">
             <boolProp name="SystemSampler.checkReturnCode">false</boolProp>
             <stringProp name="SystemSampler.expectedReturnCode">0</stringProp>
diff --git a/bin/testfiles/SavedGenTest2_13.jmx 
b/bin/testfiles/SavedGenTest2_13.jmx
index f814756b04..0f9f4d0a51 100644
--- a/bin/testfiles/SavedGenTest2_13.jmx
+++ b/bin/testfiles/SavedGenTest2_13.jmx
@@ -279,25 +279,6 @@
             <stringProp name="ConfigTestElement.password"></stringProp>
           </ConfigTestElement>
           <hashTree/>
-          <MongoSourceElement guiclass="TestBeanGUI" 
testclass="MongoSourceElement" testname="MongoDB Source Config" enabled="true">
-            <boolProp name="autoConnectRetry">false</boolProp>
-            <intProp name="connectTimeout">0</intProp>
-            <stringProp name="connection"></stringProp>
-            <intProp name="connectionsPerHost">10</intProp>
-            <boolProp name="continueOnInsertError">false</boolProp>
-            <boolProp name="fsync">false</boolProp>
-            <longProp name="maxAutoConnectRetryTime">0</longProp>
-            <intProp name="maxWaitTime">120000</intProp>
-            <boolProp name="safe">false</boolProp>
-            <boolProp name="socketKeepAlive">false</boolProp>
-            <intProp name="socketTimeout">0</intProp>
-            <stringProp name="source"></stringProp>
-            <intProp 
name="threadsAllowedToBlockForConnectionMultiplier">5</intProp>
-            <boolProp name="waitForJournaling">false</boolProp>
-            <intProp name="writeOperationNumberOfServers">0</intProp>
-            <intProp name="writeOperationTimeout">0</intProp>
-          </MongoSourceElement>
-          <hashTree/>
           <RandomVariableConfig guiclass="TestBeanGUI" 
testclass="RandomVariableConfig" testname="Random Variable" enabled="true">
             <stringProp name="maximumValue"></stringProp>
             <stringProp name="minimumValue">1</stringProp>
@@ -720,14 +701,6 @@
             <stringProp name="SMTPSampler.trustStoreToUse"></stringProp>
           </MailReaderSampler>
           <hashTree/>
-          <MongoScriptSampler guiclass="TestBeanGUI" 
testclass="MongoScriptSampler" testname="MongoDB Script" enabled="true">
-            <stringProp name="database"></stringProp>
-            <stringProp name="password"></stringProp>
-            <stringProp name="source"></stringProp>
-            <stringProp name="username"></stringProp>
-            <stringProp name="script"></stringProp>
-          </MongoScriptSampler>
-          <hashTree/>
           <SystemSampler guiclass="SystemSamplerGui" testclass="SystemSampler" 
testname="OS Process Sampler" enabled="true">
             <boolProp name="SystemSampler.checkReturnCode">false</boolProp>
             <stringProp name="SystemSampler.expectedReturnCode">0</stringProp>
diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys
index 1d206cb0bf..bffc6702e3 100644
--- a/gradle/verification-keyring.keys
+++ b/gradle/verification-keyring.keys
@@ -1,18 +1,3 @@
-pub    82216A03CAA86C78
-uid    MongoDB - 10gen <[email protected]>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBE5Kv/ABCAConhU6cL5eRQCAvVpHX8VUyflu2Lcb/X7IQXy/8BCk1Nhhp69U
-ul06/EG16A4UERZQiqZjbwsdow7CvsZiJBwr6Vf/OkM7cDqDA1nTxL8jPByUqI93
-tBtHL/8Zxr+BmdUWYDZhkRaL3HuD6Io3UpoxjQqAASYbuSelhvuVdVN5mG7VjGjq
-oB8xCFL47rdO/+yZLaGFVjoOUC5J/xsvFe7IZm+HusN+r0biRbwjdMg5ppHShzV2
-L1ETra81OQFjcohzHfATvYv00QbNG/1GUTJCIRZKzMI2qp/B0UEGa2kYiiNcQ5b8
-p5GPwjAZX/fqNuRD1pyv1zyb2oiqr5HMtXY3ABEBAAG0JU1vbmdvREIgLSAxMGdl
-biA8bm9jLWFkbWluQDEwZ2VuLmNvbT4=
-=0ybl
------END PGP PUBLIC KEY BLOCK-----
-
 pub    84E913A8E3A748C0
 uid    The Legion of the Bouncy Castle Inc. (Maven Repository Artifact Signer) 
<[email protected]>
 
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 7af3a0a2d8..4be1109f08 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -33,7 +33,6 @@
             <trusting group="org.neo4j.bolt"/>
             <trusting group="org.neo4j.driver"/>
          </trusted-key>
-         <trusted-key id="08BA61CF501C09F70911B83B82216A03CAA86C78" 
group="org.mongodb"/>
          <trusted-key id="08F0AAB4D0C1A4BDDE340765B341DDB020FCB6AB" 
group="org.bouncycastle"/>
          <trusted-key id="0A4AA2D7C6053AB068D206AA4692A312EF600C15" 
group="org.wiremock" name="wiremock" version="3.13.1"/>
          <trusted-key id="0CC641C3A62453AB390066C4A41F13C999945293">
diff --git a/lib/aareadme.txt b/lib/aareadme.txt
index b2f886e2d0..9531d6aaa1 100644
--- a/lib/aareadme.txt
+++ b/lib/aareadme.txt
@@ -217,11 +217,6 @@ http://hc.apache.org/
 - httpclient 4 implementation for HTTP sampler
 - httpasyncclient implementation for InfluxDB Backend Listener Client
 
-mongo-java-driver 2.11.3
-------------------------
-http://www.mongodb.org/
-- MongoDB sampler
-
 oro-2.0.8
 ---------
 http://jakarta.apache.org/site/downloads/downloads_oro.cgi
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 7ca273729b..d129bee88d 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -72,7 +72,6 @@ include(
     "src:protocol:junit-sample",
     "src:protocol:ldap",
     "src:protocol:mail",
-    "src:protocol:mongodb",
     "src:protocol:native",
     "src:protocol:tcp",
     "src:release",
diff --git a/src/bom-thirdparty/build.gradle.kts 
b/src/bom-thirdparty/build.gradle.kts
index cd0338a341..c92d103e67 100644
--- a/src/bom-thirdparty/build.gradle.kts
+++ b/src/bom-thirdparty/build.gradle.kts
@@ -130,7 +130,6 @@ dependencies {
         api("org.jodd:jodd-log:5.1.6")
         api("org.jodd:jodd-props:6.0.2")
         api("org.jsoup:jsoup:1.21.2")
-        api("org.mongodb:mongo-java-driver:2.14.3")
         api("org.mozilla:rhino:1.8.0")
         api("org.neo4j.driver:neo4j-java-driver:6.0.1")
         api("org.slf4j:jcl-over-slf4j:1.7.36")
diff --git a/src/dist/build.gradle.kts b/src/dist/build.gradle.kts
index e7b653acee..20e5bc8f61 100644
--- a/src/dist/build.gradle.kts
+++ b/src/dist/build.gradle.kts
@@ -47,7 +47,6 @@ var jars = arrayOf(
     ":src:protocol:junit",
     ":src:protocol:ldap",
     ":src:protocol:mail",
-    ":src:protocol:mongodb",
     ":src:protocol:native",
     ":src:protocol:tcp"
 )
diff --git a/src/dist/src/dist/expected_release_jars.csv 
b/src/dist/src/dist/expected_release_jars.csv
index eef4c661d5..cd9b0d74d7 100644
--- a/src/dist/src/dist/expected_release_jars.csv
+++ b/src/dist/src/dist/expected_release_jars.csv
@@ -110,7 +110,6 @@
 519087,mail-1.5.0-b01.jar
 106949,miglayout-core-5.3.jar
 22576,miglayout-swing-5.3.jar
-613352,mongo-java-driver-2.14.3.jar
 29680,mxparser-1.2.2.jar
 99796,neo4j-bolt-connection-10.0.1.jar
 320488,neo4j-bolt-connection-netty-10.0.1.jar
diff --git a/src/protocol/mongodb/build.gradle.kts 
b/src/protocol/mongodb/build.gradle.kts
deleted file mode 100644
index 5ee76c19c0..0000000000
--- a/src/protocol/mongodb/build.gradle.kts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-plugins {
-    id("build-logic.jvm-published-library")
-}
-
-dependencies {
-    api(projects.src.core)
-
-    api("org.mongodb:mongo-java-driver")
-
-    testImplementation(testFixtures(projects.src.core))
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java
deleted file mode 100644
index fedaf6bdd0..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.config;
-
-import org.apache.jmeter.protocol.mongodb.mongo.MongoDB;
-import org.apache.jmeter.threads.JMeterContextService;
-
-import com.mongodb.DB;
-
-/**
- * Public API to access MongoDB {@link DB} object created by {@link 
MongoSourceElement}
- */
-public final class MongoDBHolder {
-
-    /**
-     * Get access to MongoDB object
-     * @param varName String MongoDB source
-     * @param dbName Mongo DB database name
-     * @return {@link DB}
-     */
-    public static DB getDBFromSource(String varName, String dbName) {
-        return getDBFromSource(varName, dbName, null, null);
-    }
-
-    /**
-     * Get access to MongoDB object
-     * @param varName String MongoDB source
-     * @param dbName Mongo DB database name
-     * @param login name to use for login
-     * @param password password to use for login
-     * @return {@link DB}
-     */
-    public static DB getDBFromSource(String varName, String dbName, String 
login, String password) {
-        MongoDB mongodb = (MongoDB) 
JMeterContextService.getContext().getVariables().getObject(varName);
-        if(mongodb==null) {
-            throw new IllegalStateException("You didn't define 
variable:"+varName +" using MongoDB Source Config (property:MongoDB Source)");
-        }
-        return mongodb.getDB(dbName, login, password);
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java
deleted file mode 100644
index 448b8c3216..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.config;
-
-import java.net.UnknownHostException;
-
-import org.apache.jmeter.config.ConfigElement;
-import org.apache.jmeter.config.ConfigTestElement;
-import org.apache.jmeter.protocol.mongodb.mongo.MongoDB;
-import org.apache.jmeter.protocol.mongodb.mongo.MongoUtils;
-import org.apache.jmeter.testbeans.TestBean;
-import org.apache.jmeter.testelement.TestStateListener;
-import org.apache.jmeter.threads.JMeterContextService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.mongodb.MongoClientOptions;
-import com.mongodb.WriteConcern;
-
-/**
- */
-public class MongoSourceElement
-    extends ConfigTestElement
-        implements TestStateListener, TestBean {
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = 2100L;
-
-    private static final Logger log = 
LoggerFactory.getLogger(MongoSourceElement.class);
-
-    private String connection;
-    private String source;
-    private boolean autoConnectRetry;
-    private int connectionsPerHost;
-    private int connectTimeout;
-    private long maxAutoConnectRetryTime;
-    private int maxWaitTime;
-    private int socketTimeout;
-    private boolean socketKeepAlive;
-    private int threadsAllowedToBlockForConnectionMultiplier;
-    private boolean fsync;
-    private boolean safe;
-    private boolean waitForJournaling;
-    private int writeOperationNumberOfServers;
-    private int writeOperationTimeout;
-    private boolean continueOnInsertError;
-
-    public String getTitle() {
-        return this.getName();
-    }
-
-    public String getConnection() {
-        return connection;
-    }
-
-    public void setConnection(String connection) {
-        this.connection = connection;
-    }
-
-    public String getSource() {
-        return source;
-    }
-
-    public void setSource(String source) {
-        this.source = source;
-    }
-
-    public static MongoDB getMongoDB(String source) {
-
-        Object mongoSource = 
JMeterContextService.getContext().getVariables().getObject(source);
-
-        if(mongoSource == null) {
-            throw new IllegalStateException("mongoSource is null");
-        } else {
-            if(mongoSource instanceof MongoDB mongoDB) {
-                return mongoDB;
-            } else {
-                throw new IllegalStateException("Variable:"+ source +" is not 
a MongoDB instance, class:"+mongoSource.getClass());
-            }
-        }
-    }
-
-    @Override
-    public void addConfigElement(ConfigElement configElement) {
-    }
-
-    @Override
-    public boolean expectsModification() {
-        return false;
-    }
-
-    @Override
-    @SuppressWarnings("deprecation")
-    public void testStarted() {
-        if(log.isDebugEnabled()) {
-            log.debug(getTitle() + " testStarted");
-        }
-
-        MongoClientOptions.Builder builder = MongoClientOptions.builder()
-                .autoConnectRetry(getAutoConnectRetry())
-                .connectTimeout(getConnectTimeout())
-                .connectionsPerHost(getConnectionsPerHost())
-                .maxAutoConnectRetryTime(getMaxAutoConnectRetryTime())
-                .maxWaitTime(getMaxWaitTime())
-                .socketKeepAlive(getSocketKeepAlive())
-                .socketTimeout(getSocketTimeout())
-                .threadsAllowedToBlockForConnectionMultiplier(
-                        getThreadsAllowedToBlockForConnectionMultiplier());
-
-        if(getSafe()) {
-            builder.writeConcern(WriteConcern.SAFE);
-        } else {
-            builder.writeConcern(new WriteConcern(
-                    getWriteOperationNumberOfServers(),
-                    getWriteOperationTimeout(),
-                    getFsync(),
-                    getWaitForJournaling(),
-                    getContinueOnInsertError()
-                    ));
-        }
-        MongoClientOptions mongoOptions = builder.build();
-
-        if(log.isDebugEnabled()) {
-            log.debug("options : " + mongoOptions.toString());
-        }
-
-        if(getThreadContext().getVariables().getObject(getSource()) != null) {
-            if(log.isWarnEnabled()) {
-                log.warn(getSource() + " has already been defined.");
-            }
-        }
-        else {
-            if(log.isDebugEnabled()) {
-                log.debug(getSource() + "  is being defined.");
-            }
-            try {
-                getThreadContext().getVariables().putObject(
-                        getSource(), new 
MongoDB(MongoUtils.toServerAddresses(getConnection()), mongoOptions));
-            } catch (UnknownHostException e) {
-                throw new IllegalStateException(e);
-            }
-        }
-    }
-
-    @Override
-    public void testStarted(String s) {
-        testStarted();
-    }
-
-    @Override
-    public void testEnded() {
-        if(log.isDebugEnabled()) {
-            log.debug(getTitle() + " testEnded");
-        }
-        
((MongoDB)getThreadContext().getVariables().getObject(getSource())).clear();
-    }
-
-    @Override
-    public void testEnded(String s) {
-        testEnded();
-    }
-
-    /**
-     * @return the autoConnectRetry
-     */
-    public boolean getAutoConnectRetry() {
-        return autoConnectRetry;
-    }
-
-    /**
-     * @param autoConnectRetry the autoConnectRetry to set
-     */
-    public void setAutoConnectRetry(boolean autoConnectRetry) {
-        this.autoConnectRetry = autoConnectRetry;
-    }
-
-    /**
-     * @return the connectionsPerHost
-     */
-    public int getConnectionsPerHost() {
-        return connectionsPerHost;
-    }
-
-    /**
-     * @param connectionsPerHost the connectionsPerHost to set
-     */
-    public void setConnectionsPerHost(int connectionsPerHost) {
-        this.connectionsPerHost = connectionsPerHost;
-    }
-
-    /**
-     * @return the connectTimeout
-     */
-    public int getConnectTimeout() {
-        return connectTimeout;
-    }
-
-    /**
-     * @param connectTimeout the connectTimeout to set
-     */
-    public void setConnectTimeout(int connectTimeout) {
-        this.connectTimeout = connectTimeout;
-    }
-
-    /**
-     * @return the maxAutoConnectRetryTime
-     */
-    public long getMaxAutoConnectRetryTime() {
-        return maxAutoConnectRetryTime;
-    }
-
-    /**
-     * @param maxAutoConnectRetryTime the maxAutoConnectRetryTime to set
-     */
-    public void setMaxAutoConnectRetryTime(long maxAutoConnectRetryTime) {
-        this.maxAutoConnectRetryTime = maxAutoConnectRetryTime;
-    }
-
-    /**
-     * @return the maxWaitTime
-     */
-    public int getMaxWaitTime() {
-        return maxWaitTime;
-    }
-
-    /**
-     * @param maxWaitTime the maxWaitTime to set
-     */
-    public void setMaxWaitTime(int maxWaitTime) {
-        this.maxWaitTime = maxWaitTime;
-    }
-
-    /**
-     * @return the socketTimeout
-     */
-    public int getSocketTimeout() {
-        return socketTimeout;
-    }
-
-    /**
-     * @param socketTimeout the socketTimeout to set
-     */
-    public void setSocketTimeout(int socketTimeout) {
-        this.socketTimeout = socketTimeout;
-    }
-
-    /**
-     * @return the socketKeepAlive
-     */
-    public boolean getSocketKeepAlive() {
-        return socketKeepAlive;
-    }
-
-    /**
-     * @param socketKeepAlive the socketKeepAlive to set
-     */
-    public void setSocketKeepAlive(boolean socketKeepAlive) {
-        this.socketKeepAlive = socketKeepAlive;
-    }
-
-    /**
-     * @return the threadsAllowedToBlockForConnectionMultiplier
-     */
-    public int getThreadsAllowedToBlockForConnectionMultiplier() {
-        return threadsAllowedToBlockForConnectionMultiplier;
-    }
-
-    /**
-     * @param threadsAllowedToBlockForConnectionMultiplier the 
threadsAllowedToBlockForConnectionMultiplier to set
-     */
-    public void setThreadsAllowedToBlockForConnectionMultiplier(
-            int threadsAllowedToBlockForConnectionMultiplier) {
-        this.threadsAllowedToBlockForConnectionMultiplier = 
threadsAllowedToBlockForConnectionMultiplier;
-    }
-
-    /**
-     * @return the fsync
-     */
-    public boolean getFsync() {
-        return fsync;
-    }
-
-    /**
-     * @param fsync the fsync to set
-     */
-    public void setFsync(boolean fsync) {
-        this.fsync = fsync;
-    }
-
-    /**
-     * @return the safe
-     */
-    public boolean getSafe() {
-        return safe;
-    }
-
-    /**
-     * @param safe the safe to set
-     */
-    public void setSafe(boolean safe) {
-        this.safe = safe;
-    }
-
-    /**
-     * @return the waitForJournaling
-     */
-    public boolean getWaitForJournaling() {
-        return waitForJournaling;
-    }
-
-    /**
-     * @param waitForJournaling the waitForJournaling to set
-     */
-    public void setWaitForJournaling(boolean waitForJournaling) {
-        this.waitForJournaling = waitForJournaling;
-    }
-
-    /**
-     * @return the writeOperationNumberOfServers
-     */
-    public int getWriteOperationNumberOfServers() {
-        return writeOperationNumberOfServers;
-    }
-
-    /**
-     * @param writeOperationNumberOfServers the writeOperationNumberOfServers 
to set
-     */
-    public void setWriteOperationNumberOfServers(int 
writeOperationNumberOfServers) {
-        this.writeOperationNumberOfServers = writeOperationNumberOfServers;
-    }
-
-    /**
-     * @return the writeOperationTimeout
-     */
-    public int getWriteOperationTimeout() {
-        return writeOperationTimeout;
-    }
-
-    /**
-     * @param writeOperationTimeout the writeOperationTimeout to set
-     */
-    public void setWriteOperationTimeout(int writeOperationTimeout) {
-        this.writeOperationTimeout = writeOperationTimeout;
-    }
-
-    /**
-     * @return the continueOnInsertError
-     */
-    public boolean getContinueOnInsertError() {
-        return continueOnInsertError;
-    }
-
-    /**
-     * @param continueOnInsertError the continueOnInsertError to set
-     */
-    public void setContinueOnInsertError(boolean continueOnInsertError) {
-        this.continueOnInsertError = continueOnInsertError;
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java
deleted file mode 100644
index 3da5ce1ae9..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.config;
-
-import java.beans.PropertyDescriptor;
-
-import org.apache.jmeter.testbeans.BeanInfoSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MongoSourceElementBeanInfo
-        extends BeanInfoSupport {
-
-    private static final Logger log = 
LoggerFactory.getLogger(MongoSourceElementBeanInfo.class);
-
-    public MongoSourceElementBeanInfo() {
-        super(MongoSourceElement.class);
-
-        //http://api.mongodb.org/java/2.7.2/com/mongodb/Mongo.html
-        createPropertyGroup("mongodb", new String[] {
-                "connection",
-                "source"});
-
-        //http://api.mongodb.org/java/2.7.2/com/mongodb/MongoOptions.html/
-        createPropertyGroup("options", new String[]{
-                "autoConnectRetry",
-                "connectionsPerHost",
-                "connectTimeout",
-                "maxAutoConnectRetryTime",
-                "maxWaitTime",
-                "socketTimeout",
-                "socketKeepAlive",
-                "threadsAllowedToBlockForConnectionMultiplier"});
-
-        //http://api.mongodb.org/java/2.7.2/com/mongodb/MongoOptions.html/
-        createPropertyGroup("writeConcern", new String[] {
-                "safe",
-                "fsync",
-                "waitForJournaling",
-                "writeOperationNumberOfServers",
-                "writeOperationTimeout",
-                "continueOnInsertError"});
-
-        PropertyDescriptor p = property("connection");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, "");
-        p = property("source");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, "");
-
-        p = property("autoConnectRetry");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, false);
-        p = property("connectionsPerHost");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 10);
-        p = property("connectTimeout");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 0);
-        p = property("threadsAllowedToBlockForConnectionMultiplier");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 5);
-        p = property("maxAutoConnectRetryTime");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 0L);
-        p = property("maxWaitTime");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 120000);
-        p = property("socketTimeout");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 0);
-        p = property("socketKeepAlive");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, false);
-
-        p = property("fsync");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, false);
-        p = property("safe");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, false);
-        p = property("waitForJournaling");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, false);
-        p = property("writeOperationNumberOfServers");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 0);
-        p = property("writeOperationTimeout");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, 0);
-        p = property("continueOnInsertError");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, false);
-
-        if(log.isDebugEnabled()) {
-            for (PropertyDescriptor pd : getPropertyDescriptors()) {
-                log.debug(pd.getName());
-                log.debug(pd.getDisplayName());
-            }
-        }
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java
deleted file mode 100644
index c7df00859d..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.mongo;
-
-import com.mongodb.DBObject;
-import com.mongodb.util.JSON;
-
-/**
- */
-public class EvalResultHandler {
-
-    //This can lead to code smell, meh! Do we care
-    public String handle(Object o) {
-        if(o == null) {
-            return "ok";
-        }
-
-        if(o instanceof Double v) {
-            return this.handle(v);
-        }
-        else if(o instanceof Integer i) {
-            return this.handle(i);
-        }
-        else if(o instanceof String s) {
-            return this.handle(s);
-        }
-        else if(o instanceof DBObject dbObject) {
-            return this.handle(dbObject);
-        }
-        else {
-            return "return type not handled";
-        }
-    }
-
-    public String handle(Integer o) {
-        return o.toString();
-    }
-
-    public String handle(String o) {
-        return o;
-    }
-
-    public String handle(Double o) {
-        return o.toString();
-    }
-
-
-    public String handle(DBObject o) {
-        return JSON.serialize(o);
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java
deleted file mode 100644
index c869524815..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.mongo;
-
-import java.util.List;
-
-import org.apache.jorphan.util.StringUtilities;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.mongodb.DB;
-import com.mongodb.Mongo;
-import com.mongodb.MongoClient;
-import com.mongodb.MongoClientOptions;
-import com.mongodb.ServerAddress;
-
-/**
- */
-public class MongoDB {
-
-    private static final Logger log = LoggerFactory.getLogger(MongoDB.class);
-
-    // Mongo is Thread Safe
-    private Mongo mongo = null;
-
-    public MongoDB(
-            List<ServerAddress> serverAddresses,
-            MongoClientOptions mongoOptions) {
-        mongo = new MongoClient(serverAddresses, mongoOptions);
-    }
-
-    @SuppressWarnings("deprecation")
-    public DB getDB(String database, String username, String password) {
-
-        if(log.isDebugEnabled()) {
-            log.debug("username: " + username+", password: " + password+", 
database: " + database);
-        }
-        DB db = mongo.getDB(database);
-        boolean authenticated = db.isAuthenticated();
-
-        if(!authenticated) {
-            if (StringUtilities.isNotEmpty(username) && 
StringUtilities.isNotEmpty(password)) {
-                authenticated = db.authenticate(username, 
password.toCharArray());
-            }
-        }
-        if(log.isDebugEnabled()) {
-            log.debug("authenticated: " + authenticated);
-        }
-        return db;
-    }
-
-    public void clear() {
-        if(log.isDebugEnabled()) {
-            log.debug("clearing");
-        }
-
-        mongo.close();
-        //there is no harm in trying to clear up
-        mongo = null;
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java
deleted file mode 100644
index 29e068338f..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.mongo;
-
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.jorphan.util.StringUtilities;
-
-import com.mongodb.ServerAddress;
-
-/**
- */
-public class MongoUtils {
-    /**
-     * MongoDB default connection port
-     */
-    public static final int DEFAULT_PORT = 27017;
-
-    public static List<ServerAddress> toServerAddresses(String connections) 
throws UnknownHostException {
-
-        List<ServerAddress> addresses = new ArrayList<>();
-        for(String connection : Arrays.asList(connections.split(","))) {
-            int port = DEFAULT_PORT;
-            String[] hostPort = connection.split(":");
-            if(hostPort.length > 1) {
-                String portValue = hostPort[1];
-                if (StringUtilities.isNotEmpty(portValue)) {
-                    port = Integer.parseInt(portValue.trim());
-                }
-            }
-            addresses.add(new ServerAddress(hostPort[0], port));
-        }
-        return addresses;
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java
deleted file mode 100644
index 73a730fca3..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.sampler;
-
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.mongodb.DB;
-
-/**
- */
-public class MongoScriptRunner {
-
-    private static final Logger log = 
LoggerFactory.getLogger(MongoScriptRunner.class);
-
-    public MongoScriptRunner() {
-        super();
-    }
-
-    /**
-     * Evaluate a script on the database
-     *
-     * @param db
-     *            database connection to use
-     * @param script
-     *            script to evaluate on the database
-     * @return result of evaluation on the database
-     * @throws Exception
-     *             when evaluation on the database fails
-     */
-    @SuppressWarnings("deprecation")
-    public Object evaluate(DB db, String script)
-        throws Exception {
-
-        if(log.isDebugEnabled()) {
-            log.debug("database: " + db.getName()+", script: " + script);
-        }
-
-        db.requestStart();
-        try {
-            db.requestEnsureConnection();
-
-            Object result = db.eval(script);
-
-            if(log.isDebugEnabled()) {
-                log.debug("Result : " + result);
-            }
-            return result;
-        } finally {
-            db.requestDone();
-        }
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java
deleted file mode 100644
index 7cde4d0f71..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.sampler;
-
-import org.apache.jmeter.protocol.mongodb.config.MongoSourceElement;
-import org.apache.jmeter.protocol.mongodb.mongo.EvalResultHandler;
-import org.apache.jmeter.protocol.mongodb.mongo.MongoDB;
-import org.apache.jmeter.samplers.AbstractSampler;
-import org.apache.jmeter.samplers.Entry;
-import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jmeter.testbeans.TestBean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.mongodb.DB;
-
-/**
- */
-public class MongoScriptSampler
-    extends AbstractSampler
-        implements TestBean {
-
-    private static final long serialVersionUID = -7789012234636439896L;
-
-    private static final Logger log = 
LoggerFactory.getLogger(MongoScriptSampler.class);
-
-    public final static String SOURCE = "MongoScriptSampler.source"; 
//$NON-NLS-1$
-
-    public final static String DATABASE = "MongoScriptSampler.database"; 
//$NON-NLS-1$
-    public final static String USERNAME = "MongoScriptSampler.username"; 
//$NON-NLS-1$
-    public final static String PASSWORD = "MongoScriptSampler.password"; 
//$NON-NLS-1$ NOSONAR It's not a password
-    public final static String SCRIPT = "MongoScriptSampler.script"; 
//$NON-NLS-1$
-
-
-    public MongoScriptSampler() {
-        trace("MongoScriptSampler()");
-    }
-
-    @Override
-    public SampleResult sample(Entry e) {
-        trace("sample()");
-
-        SampleResult res = new SampleResult();
-        String data = getScript();
-
-        res.setSampleLabel(getTitle());
-        res.setResponseCodeOK();
-        res.setResponseCode("200"); // $NON-NLS-1$
-        res.setSuccessful(true);
-        res.setResponseMessageOK();
-        res.setSamplerData(data);
-        res.setDataType(SampleResult.TEXT);
-        res.setContentType("text/plain"); // $NON-NLS-1$
-        res.sampleStart();
-
-        try {
-            MongoDB mongoDB = MongoSourceElement.getMongoDB(getSource());
-            MongoScriptRunner runner = new MongoScriptRunner();
-            DB db = mongoDB.getDB(getDatabase(), getUsername(), getPassword());
-            res.latencyEnd();
-            Object result = runner.evaluate(db, data);
-            EvalResultHandler handler = new EvalResultHandler();
-            String resultAsString = handler.handle(result);
-            res.setResponseData(resultAsString, 
res.getDataEncodingWithDefault());
-        } catch (Exception ex) {
-            res.setResponseCode("500"); // $NON-NLS-1$
-            res.setSuccessful(false);
-            res.setResponseMessage(ex.toString());
-            res.setResponseData(ex.getMessage(), 
res.getDataEncodingWithDefault());
-        } finally {
-            res.sampleEnd();
-        }
-        return res;
-    }
-
-    public String getTitle() {
-        return this.getName();
-    }
-
-    public String getScript() {
-        return getPropertyAsString(SCRIPT);
-    }
-
-    public void setScript(String script) {
-        setProperty(SCRIPT, script);
-    }
-
-    public String getDatabase() {
-        return getPropertyAsString(DATABASE);
-    }
-
-    public void setDatabase(String database) {
-        setProperty(DATABASE, database);
-    }
-
-    public String getUsername() {
-        return getPropertyAsString(USERNAME);
-    }
-
-    public void setUsername(String username) {
-        setProperty(USERNAME, username);
-    }
-
-    public String getPassword() {
-        return getPropertyAsString(PASSWORD);
-    }
-
-    public void setPassword(String password) {
-        setProperty(PASSWORD, password);
-    }
-
-    public String getSource() {
-        return getPropertyAsString(SOURCE);
-    }
-
-    public void setSource(String source) {
-        setProperty(SOURCE, source);
-    }
-
-    private void trace(String s) {
-        if(log.isDebugEnabled()) {
-            log.debug(Thread.currentThread().getName() + " (" + getTitle() + " 
" + s + " " + this.toString());
-        }
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java
 
b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java
deleted file mode 100644
index 00891bd5cc..0000000000
--- 
a/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.protocol.mongodb.sampler;
-
-import java.beans.PropertyDescriptor;
-
-import org.apache.jmeter.testbeans.BeanInfoSupport;
-import org.apache.jmeter.testbeans.gui.TypeEditor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
-  */
-public class MongoScriptSamplerBeanInfo
-    extends BeanInfoSupport {
-
-    private static final Logger log = 
LoggerFactory.getLogger(MongoScriptSamplerBeanInfo.class);
-
-    public MongoScriptSamplerBeanInfo() {
-        super(MongoScriptSampler.class);
-
-        //http://api.mongodb.org/java/2.7.2/com/mongodb/Mongo.html
-        createPropertyGroup("mongodb", new String[] {
-                "source",
-                "database",
-                "username",
-                "password" });
-
-        createPropertyGroup("sampler", new String[]{
-                "script"});
-
-        PropertyDescriptor p = property("database");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, "");
-        p = property("username");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, "");
-        p = property("password", TypeEditor.PasswordEditor);
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, "");
-        p = property("source");
-        p.setValue(NOT_UNDEFINED, true);
-        p.setValue(DEFAULT, "");
-
-        p = property("script", TypeEditor.TextAreaEditor);
-        p.setValue(NOT_UNDEFINED, false);
-        p.setValue(DEFAULT, "");
-        p.setValue(NOT_EXPRESSION, true);
-        p.setValue(TEXT_LANGUAGE, "javascript");  // $NON-NLS-1$
-
-        if(log.isDebugEnabled()) {
-            for (PropertyDescriptor pd : getPropertyDescriptors()) {
-                log.debug(pd.getName());
-                log.debug(pd.getDisplayName());
-            }
-        }
-    }
-}
diff --git 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties
 
b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties
deleted file mode 100644
index 78bf929959..0000000000
--- 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#Stored by I18NEdit, may be edited!
-autoConnectRetry.displayName=Keep trying
-autoConnectRetry.shortDescription=If true, the driver will keep trying to 
connect to the same server in case that the socket cannot be 
established.<br><br>There is maximum amount of time to keep retrying, which is 
15s by default.<br><br>This can be useful to avoid some exceptions being thrown 
when a server is down temporarily by blocking the operations.<br><br>It also 
can be useful to smooth the transition to a new master (so that a new master is 
elected within the retry time).<br><br>No [...]
-connectTimeout.displayName=Connection timeout
-connectTimeout.shortDescription=The connection timeout in 
milliseconds.<br><br>It is used solely when establishing a new connection 
Socket.connect(java.net.SocketAddress, int)<br><br>Default is 0 and means no 
timeout.
-connection.displayName=Server Address List
-connection.shortDescription=Server Address List
-connectionsPerHost.displayName=Maximum connections Per Host
-connectionsPerHost.shortDescription=The maximum number of connections allowed 
per host for this Mongo instance.<br><br>Those connections will be kept in a 
pool when idle.<br><br>Once the pool is exhausted, any operation requiring a 
connection will block waiting for an available connection.<br><br>Default is 10.
-continueOnInsertError.displayName=Continue on Error
-continueOnInsertError.shortDescription=If batch inserts should continue after 
the first error
-displayName=MongoDB Source Config (DEPRECATED)
-fsync.displayName=Fsync
-fsync.shortDescription=The fsync value of the global 
WriteConcern.<br><br>Default is false.
-maxAutoConnectRetryTime.displayName=Maximum retry time
-maxAutoConnectRetryTime.shortDescription=The maximum amount of time in MS to 
spend retrying to open connection to the same server.<br><br>Default is 0, 
which means to use the default 15s if autoConnectRetry is on.
-maxWaitTime.displayName=Maximum wait time
-maxWaitTime.shortDescription=The maximum wait time in ms that a thread may 
wait for a connection to become available.<br><br>Default is 120,000.
-mongodb.displayName=MongoDB Connection
-mongodb.shortDescription=Configure the connection
-options.displayName=MongoDB Options
-options.shortDescription=Various settings for the driver
-safe.displayName=Safe
-safe.shortDescription=If true the driver will use a WriteConcern of 
WriteConcern.SAFE for all operations.<br><br>If w, wtimeout, fsync or j are 
specified, this setting is ignored.<br><br>Default is false.
-socketKeepAlive.displayName=Socket keep alive
-socketKeepAlive.shortDescription=This flag controls the socket keep alive 
feature that keeps a connection alive through firewalls 
Socket.setKeepAlive(boolean)<br><br>Default is false.
-socketTimeout.displayName=Socket timeout
-socketTimeout.shortDescription=The socket timeout in milliseconds It is used 
for I/O socket read and write operations 
Socket.setSoTimeout(int)<br><br>Default is 0 and means no timeout.
-source.displayName=MongoDB Source
-source.shortDescription=Configure the Source
-threadsAllowedToBlockForConnectionMultiplier.displayName=Block Multiplier
-threadsAllowedToBlockForConnectionMultiplier.shortDescription=This multiplier, 
multiplied with the connectionsPerHost setting, gives the maximum number of 
threads that may be waiting for a connection to become available from the 
pool.<br><br>All further threads will get an exception right away.<br><br>For 
example if connectionsPerHost is 10 and 
threadsAllowedToBlockForConnectionMultiplier is 5, then up to 50 threads can 
wait for a connection.<br><br>Default is 5.
-waitForJournaling.displayName=Wait for Journal
-waitForJournaling.shortDescription=The j value of the global 
WriteConcern.<br><br>Default is false.
-writeConcern.displayName=Write Concern Options
-writeConcern.shortDescription=Various settings for the driver
-writeOperationNumberOfServers.displayName=Wait for Servers
-writeOperationNumberOfServers.shortDescription=The w value of the global 
WriteConcern.<br><br>Default is 0.
-writeOperationTimeout.displayName=Wait Timeout
-writeOperationTimeout.shortDescription=The wtimeout value of the global 
WriteConcern.<br><br>Default is 0.
diff --git 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties
 
b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties
deleted file mode 100644
index d4fefdb0f8..0000000000
--- 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#Stored by I18NEdit, may be edited!
-autoConnectRetry.displayName=Essayer de garder la connexion
-autoConnectRetry.shortDescription=Si positionné à True, le gestionnaire 
continuera d'essayer de se reconnecter au même serveur dans le cas où la 
connexion socket ne peut être établie. <br> Le délai d'attente maximum pour 
ressayer est de 15 sec par défaut.<br> <br>Cela peut être utile pour éviter 
certaines exceptions levées quand un serveur est arrêté temporairement, 
bloquant ainsi les opérations.<br>Il peut également être utile pour adoucir la 
transition vers un nouveau maître (de sorte  [...]
-connectTimeout.displayName=Delai d'expiration de connexion
-connectTimeout.shortDescription=Le délai d'expiration de connexion, en 
millisecondes.<br> Il est utilisé uniquement lors de l'établissement d'une 
nouvelle connexion Socket.connect(java.net.SocketAddress, int)<br><br>La valeur 
par défaut est 0 et signifie aucun délai d'attente.
-connection.displayName=Liste adresse serveur
-connection.shortDescription=Liste adresse serveur
-connectionsPerHost.displayName=Maximum de connexions par hôte
-connectionsPerHost.shortDescription=Le nombre maximum de connexions autorisées 
par hôte for cette instance de Mongo.<br><br>Ces connexions seront gardées dans 
un pool quand elles seront disponibles.<br><br>Une fois que le pool est 
atteint, toute opération qui nécessite une connexion sera bloquée en attendant 
une connexion disponible.<br><br>La valeur par défaut est 10.
-continueOnInsertError.displayName=Continuer en cas d'erreur
-continueOnInsertError.shortDescription=Indique si les insertions en batch 
doivent se poursuivre après la première erreur
-displayName=Gestionnaire de connexion MongoDB (DEPRECATED)
-fsync.displayName=Fsync
-fsync.shortDescription=Valeur Fsync pour l'élément global 
WriteConcern.<br><br>La valeur par défaut est False.
-maxAutoConnectRetryTime.displayName=Temps de re-tentative maximum
-maxAutoConnectRetryTime.shortDescription=Le délai maximal de temps en 
milli-secondes pour tenter d'ouvrir une connexion au même serveur.<br><br>La 
valeur par défaut est 0, ce qui signifie que pour utiliser les 15 sec. par 
défaut si autoConnectRetry est activé.
-maxWaitTime.displayName=Temps d'attente maximum
-maxWaitTime.shortDescription=Le temps d'attente maximum in milli-secondes 
qu'une unité d'exécution peut attendre pour qu'une connexion devienne 
disponible.<br><br>La valeur par défaut est 120000.
-mongodb.displayName=Connexion MongoDB
-mongodb.shortDescription=Configurer la connexion
-options.displayName=Options MongoDB
-options.shortDescription=Divers paramètres pour le gestionnaire
-safe.displayName=Sûreté (Safe)
-safe.shortDescription=Si positionné à True, le gestionnaire utilisera un 
WriteConcern de WriteConcern.SAFE pour toutes les opérations.<br><br>Si w, 
wtimeout, fsync or j sont spécifiés, ce paramètre est ignoré.<br><br>La valeur 
par défaut est False.
-socketKeepAlive.displayName=Socket persistante
-socketKeepAlive.shortDescription=Cet indicateur contrôle la fonctionnalité de 
garder la socket persistante à travers un pare-feu 
Socket.setKeepAlive(boolean)<br><br>La valeur par défaut est false.
-socketTimeout.displayName=Délai d'expiration Socket
-socketTimeout.shortDescription=Le délai d'expiration de Socket en 
milli-secondes. Il est utilisé pour en E/S de socket pour les opérations de 
lecture et écriture Socket.setSoTimeout(int)<br><br>La valeur par défaut est 0 
et signifie \: pas de délai.
-source.displayName=Source MongoDB
-source.shortDescription=Configurer la source
-threadsAllowedToBlockForConnectionMultiplier.displayName=Multiplicateur de 
blocage
-threadsAllowedToBlockForConnectionMultiplier.shortDescription=Ce 
multiplicateur, multiplié avec le paramètre connectionsPerHost, donne le nombre 
maximal d'unités qui peuvent être en attente qu'une connexion se libère du 
pool.<br>Au délà une exception sera levée immédiatement.<br><br>Par exemple, si 
connectionsPerHost est de 10 et threadsAllowedToBlockForConnectionMultiplier 
est de 5, Alors jusqu'à 50 threads peuvent attendre une connexion.<br>La valeur 
par défaut est 5.
-waitForJournaling.displayName=Attente du Journal
-waitForJournaling.shortDescription=La valeur j pour l'élément global 
WriteConcern.<br><br>La valeur par défaut est False.
-writeConcern.displayName=Options Write Concern
-writeConcern.shortDescription=Divers paramètres pour le gestionnaire
-writeOperationNumberOfServers.displayName=Attente des serveurs
-writeOperationNumberOfServers.shortDescription=La valeur w pour l'élément 
global WriteConcern.<br><br>La valeur par défaut est 0.
-writeOperationTimeout.displayName=Délai d'attente
-writeOperationTimeout.shortDescription=La valeur wtimeout pour l'élément 
global WriteConcern.<br><br>La valeur par défaut est 0.
diff --git 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_ko.properties
 
b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_ko.properties
deleted file mode 100644
index 7f3ca4f6dc..0000000000
--- 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_ko.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-autoConnectRetry.displayName=계속 시도
-autoConnectRetry.shortDescription=true로 설정되는 경우, 소켓이 확립되지 않으면 드라이버가 동일 서버에 계속 
연결을 시도할 것입니다.<br><br>재시도 최대 시간은 기본 값으로 15초로 설정되어 있습니다.<br><br>서버가 일시적으로 다운되어 있을 
때, 이는 해당 오퍼레이션들을 중단 시킴으로써 유용한 기능을 제공할 수 있습니다.<br><br>또한 새로운 마스터로 유연하게 이전하는 데에도 
도움을 줄 수 있습니다. (재시도 대기 시간 동안 새로운 마스터가 선출될 수 있게 됩니다.)<br><br>이 플래그를 사용 시 
주의점\:<br>- 레플리카 셋에서는, 이러한 경우 드라이버가 새로운 마스터로 곧바로 연결 시도하는 대신에, 다시 이전 마스터에 연결하려 할 
것입니다.<br>이는 소켓에 대한 읽기/쓰기 오퍼레이션 시에 익셉션이 발생하게 만들 것인데, 이런 문제는 애플리케이션에 �
 ��시 처리되어야 합니다.<br><br>이 플래그가 false로 설정 [...]
-connectTimeout.displayName=연결 타임아웃
-connectTimeout.shortDescription=연결 타임아웃을 밀리초로 설정.<br><br>이 값은 오직 새로운 소켓 연결 시, 
즉 Socket.connect(java.net.SocketAddress, int) 시에만 사용됩니다.<br><br>기본 값은 0인데 이는 
타임아웃이 없음을 의미합니다.
-connection.displayName=서버 주소 목록
-connection.shortDescription=서버 주소 목록
-connectionsPerHost.displayName=호스트 당 최대 연결 갯수
-connectionsPerHost.shortDescription=이 Mongo 인스턴스를 위한 호스트 당 최대 허용 연결 
갯수.<br><br>연결들은 유휴 시 연결 풀에 보관됩니다.<br><br>연결 풀 내의 모든 연결들이 사용되고 있는 경우, 연결을 얻고자 하는 
어떤 오퍼레이션도 다음 가용한 연결을 얻을 때까지 중단, 대기하게 됩니다.<br><br>기본 값은 10.
-continueOnInsertError.displayName=오류 발생 시 계속
-continueOnInsertError.shortDescription=첫 오류 발생 후 배치 Insert 작업들이 계속되어야 하는지 여부
-displayName=MongoDB 원본 설정 (DEPRECATED)
-fsync.displayName=Fsync
-fsync.shortDescription=global WriteConcern의 Fsync 설정 값.<br><br>기본 값은 false.
-maxAutoConnectRetryTime.displayName=재시도 최대 시간
-maxAutoConnectRetryTime.shortDescription=동일 서버에 연결을 열기 위한 재시도 최대 시간을 밀리초로 
설정합니다.<br><br>기본 값은 0 인데, 이는 autoConnectRetry 옵션이 활성화된 경우 기본 값인 15초를 사용함을 의미합니다.
-maxWaitTime.displayName=최대 대기 시간
-maxWaitTime.shortDescription=가용한 연결을 얻을 때까지 쓰레드가 기다릴 수 있는 최대 대기 시간을 밀리초로 
설정합니다.<br><br>기본 값은 120,000.
-mongodb.displayName=MongoDB 연결
-mongodb.shortDescription=연결 설정
-options.displayName=MongoDB 옵션들
-options.shortDescription=드라이버에 대한 다양한 설정들
-safe.displayName=안전
-safe.shortDescription=이것이 설정되는 경우, 드라이버는 모든 오퍼레이션들에서 WriteConcern.SAFE 옵션을 사용할 
것입니다.<br><br>만일 w, wtimeout, fsync 또는 j 가 지정되는 경우, 이 설정은 무시됩니다.<br><br>기본 값은 
false.
-socketKeepAlive.displayName=소켓 Keep Alive 옵션
-socketKeepAlive.shortDescription=이 플래그는 소켓 Keep Alive 옵션을 제어합니다. 이는 내부적으로 
Socket.setKeepAlive(boolean)를 사용하는데, 방화벽을 통과하여 게속 연결을 유지할 수 있는 옵션을 
제공합니다.<br><br>기본 값은 false.
-socketTimeout.displayName=소켓 타임아웃
-socketTimeout.shortDescription=소켓 타임아웃을 밀리초로 설정. 내부적으로 
Socket.setSoTimeout(int)으로 설정되며, 이는 I/O 소켓 읽기 및 쓰기 오퍼레이션에 적용됩니다.<br><br>기본 값은 
0으로, 이는 타임아웃이 없음을 의미합니다.
-source.displayName=MongoDB 원본
-source.shortDescription=원본 설정
-threadsAllowedToBlockForConnectionMultiplier.displayName=Block 승수
-threadsAllowedToBlockForConnectionMultiplier.shortDescription=connectionsPerHost
 설정 값과 곱해지는 이 승수는, (연결 풀에서 가용 연결을 얻기 위해 대기할 수 있는) 쓰레드들의 최대 갯수를 산출합니다.<br><br>그 
갯수 이상의 쓰레드들은 즉시 익셉션을 받게 될 것입니다.<br><br>예를 들어 connectionsPerHost가 10이고 
threadsAllowedToBlockForConnectionMultiplier이 5인 경우, 최대 50 개의 쓰레드들이 연결을 얻기 위해 
대기할 수 있습니다.<br><br>기본 값은 5.
-waitForJournaling.displayName=저널 기다리기
-waitForJournaling.shortDescription=global WriteConcern의 j 설정 값.<br><br>기본 값은 
false.
-writeConcern.displayName=Write Concern 옵션들
-writeConcern.shortDescription=드라이버를 위한 다양한 설정들
-writeOperationNumberOfServers.displayName=서버들을 기다리기
-writeOperationNumberOfServers.shortDescription=global WriteConcern의 w 설정 
값.<br><br>기본 값은 0.
-writeOperationTimeout.displayName=대기 타임아웃
-writeOperationTimeout.shortDescription=global WriteConcern의 wtimeout 설정 
값.<br><br>기본 값은 0.
diff --git 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties
 
b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties
deleted file mode 100644
index 3b4dd89468..0000000000
--- 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#Stored by I18NEdit, may be edited!
-database.displayName=Database Name
-displayName=MongoDB Script (DEPRECATED)
-mongodb.displayName=MongoDB Connection
-mongodb.shortDescription=Configure the connection
-password.displayName=Password
-sampler.displayName=Script
-script.displayName=The script to run
-script.shortDescription=Add your mongo shell script as you would via the mongo 
shell.
-source.displayName=MongoDB Source
-source.shortDescription=Configure the Source
-username.displayName=Username
diff --git 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties
 
b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties
deleted file mode 100644
index 7b4357033e..0000000000
--- 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#Stored by I18NEdit, may be edited!
-database.displayName=Nom base de données
-displayName=Script MongoDB (DEPRECATED)
-mongodb.displayName=Connexion MongoDB
-mongodb.shortDescription=Configurer la connexion
-password.displayName=Mot de passe
-sampler.displayName=Script
-script.displayName=Le script à exécuter
-script.shortDescription=Ajouter votre script shell mongo comme vous le feriez 
dans le shell mongo.
-source.displayName=Source MongoDB
-source.shortDescription=Configurer la Source
-username.displayName=Utilisateur
diff --git 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_ko.properties
 
b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_ko.properties
deleted file mode 100644
index 2ccb1b1935..0000000000
--- 
a/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_ko.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-database.displayName=데이터베이스 이름
-displayName=MongoDB 스크립트 (DEPRECATED)
-mongodb.displayName=MongoDB 연결
-mongodb.shortDescription=연결 설정
-password.displayName=비밀번호
-sampler.displayName=스크립트
-script.displayName=실행할 스크립트
-script.shortDescription=Mongo 셸 스크립트 (Mongo 셸에서 실행할 수 있는 동일한 방식으로)
-source.displayName=MongoDB 원본
-source.shortDescription=원본 설정
-username.displayName=사용자명
diff --git 
a/src/protocol/mongodb/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMongodb.java
 
b/src/protocol/mongodb/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMongodb.java
deleted file mode 100644
index e60217edd4..0000000000
--- 
a/src/protocol/mongodb/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMongodb.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.resources;
-
-public class ResourceKeyUsageTestMongodb extends ResourceKeyUsageTest {
-    // Test from the base class is used, so we just validate current module
-}
diff --git a/xdocs/usermanual/component_reference.xml 
b/xdocs/usermanual/component_reference.xml
index 213a62758e..063fed59a6 100644
--- a/xdocs/usermanual/component_reference.xml
+++ b/xdocs/usermanual/component_reference.xml
@@ -1930,39 +1930,6 @@ If the timeout expires before the command finishes, 
JMeter will attempt to kill
 </properties>
 </component>
 
-<component name="MongoDB Script (DEPRECATED)" index="&sect-num;.1.21" 
width="847" height="635" screenshot="mongodb-script.png">
-<description><p>This sampler lets you send a Request to a MongoDB.</p>
-<p>Before using this you need to set up a
-<complink name="MongoDB Source Config"/> Configuration element
-</p>
-<note>This Element currently uses <code>com.mongodb.DB#eval</code> which takes 
a global write lock causing a performance impact on the database, see <a 
href="http://docs.mongodb.org/manual/reference/method/db.eval/";><code>db.eval()</code></a>.
-So it is better to avoid using this element for load testing and use 
JSR223+Groovy scripting using <apilink 
href="org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.html">MongoDBHolder</apilink>
 instead.
-MongoDB Script is more suitable for functional testing or test setup 
(setup/teardown threads)</note>
-</description>
-
-<properties>
-        <property name="Name" required="No">Descriptive name for this sampler 
that is shown in the tree.</property>
-        <property name="MongoDB Source" required="Yes">
-        Name of the JMeter variable that the MongoDB connection is bound to.
-        This must agree with the '<code>MongoDB Source</code>' field of a 
MongoDB Source Config.
-        </property>
-        <property name="Database Name" required="Yes">Database Name, will be 
used in your script
-        </property>
-        <property name="Username" required="No">
-        </property>
-        <property name="Password" required="No">
-        </property>
-        <property name="Script" required="Yes">
-        Mongo script as it would be used in MongoDB shell
-        </property>
-</properties>
-
-<links>
-        <complink name="MongoDB Source Config"/>
-</links>
-<note>Ensure Variable Name is unique across Test Plan.</note>
-</component>
-
 <a href="#">^</a>
 
 
@@ -4441,93 +4408,6 @@ GUI that they can use while developing new JMeter 
components.</p>
 
 </component>
 
-
-<component name="MongoDB Source Config (DEPRECATED)" index="&sect-num;.4.20"
-                 width="1233" height="618" 
screenshot="mongodb-source-config.png">
-    <description>Creates a MongoDB connection (used by <complink name="MongoDB 
Script"/>Sampler)
-     from the supplied Connection settings. Each thread gets its own 
connection.
-     The connection configuration name is used by the JDBC Sampler to select 
the appropriate
-     connection.
-     <p>
-     You can then access <code>com.mongodb.DB</code> object in Beanshell or 
JSR223 Test Elements through the element <apilink 
href="org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.html">MongoDBHolder</apilink>
-     using this code</p>
-
-    <source>
-import com.mongodb.DB;
-import org.apache.jmeter.protocol.mongodb.config.MongoDBHolder;
-DB db = MongoDBHolder.getDBFromSource("value of property MongoDB Source",
-            "value of property Database Name");
-&hellip;
-    </source>
-    </description>
-    <properties>
-        <property name="Name" required="No">Descriptive name for the 
connection configuration that is shown in the tree.</property>
-        <property name="Server Address List" required="Yes">Mongo DB 
Servers</property>
-        <property name="MongoDB Source" required="Yes">The name of the 
variable the connection is tied to.
-        <note>Each name must be different. If there are two configuration 
elements using the same name, only one will be saved.</note>
-        </property>
-
-        <property name="Keep Trying" required="No">
-            If <code>true</code>, the driver will keep trying to connect to 
the same server in case that the socket cannot be established.<br/>
-            There is maximum amount of time to keep retrying, which is 15s by 
default.<br/>This can be useful to avoid some exceptions being thrown when a 
server is down temporarily by blocking the operations.
-            <br/>It can also be useful to smooth the transition to a new 
primary node (so that a new primary node is elected within the retry time).<br/>
-            <note>Note that when using this flag
-              <ul>
-                <li>for a replica set, the driver will try to connect to the 
old primary node for that time, instead of failing over to the new one right 
away </li>
-                <li>this does not prevent exception from being thrown in 
read/write operations on the socket, which must be handled by application.</li>
-              </ul>
-              Even if this flag is false, the driver already has mechanisms to 
automatically recreate broken connections and retry the read operations.
-            </note>
-            Default is <code>false</code>.
-        </property>
-        <property name="Maximum connections per host" required="No"></property>
-        <property name="Connection timeout" required="No">
-            The connection timeout in milliseconds.<br/>It is used solely when 
establishing a new connection <code>Socket.connect(java.net.SocketAddress, 
int)</code><br/>Default is <code>0</code> and means no timeout.
-        </property>
-        <property name="Maximum retry time" required="No">
-            The maximum amount of time in milliseconds to spend retrying to 
open connection to the same server.<br/>Default is <code>0</code>, which means 
to use the default 15s if <code>autoConnectRetry</code> is on.
-        </property>
-        <property name="Maximum wait time" required="No">
-            The maximum wait time in milliseconds that a thread may wait for a 
connection to become available.<br/>Default is <code>120,000</code>.
-        </property>
-        <property name="Socket timeout" required="No">
-            The socket timeout in milliseconds It is used for I/O socket read 
and write operations <code>Socket.setSoTimeout(int)</code><br/>Default is 
<code>0</code> and means no timeout.
-        </property>
-        <property name="Socket keep alive" required="No">
-            This flag controls the socket keep alive feature that keeps a 
connection alive through firewalls 
<code>Socket.setKeepAlive(boolean)</code><br/>
-            Default is <code>false</code>.
-        </property>
-        <property name="ThreadsAllowedToBlockForConnectionMultiplier" 
required="No">
-        This multiplier, multiplied with the connectionsPerHost setting, gives 
the maximum number of threads that may be waiting for a connection to become 
available from the pool.<br/>
-        All further threads will get an exception right away.<br/>
-        For example if <code>connectionsPerHost</code> is <code>10</code> and 
<code>threadsAllowedToBlockForConnectionMultiplier</code> is <code>5</code>, 
then up to 50 threads can wait for a connection.<br/>
-        Default is <code>5</code>.
-        </property>
-        <property name="Write Concern: Safe" required="No">
-            If <code>true</code> the driver will use a 
<code>WriteConcern</code> of <code>WriteConcern.SAFE</code> for all 
operations.<br/>
-            If <code>w</code>, <code>wtimeout</code>, <code>fsync</code> or 
<code>j</code> are specified, this setting is ignored.<br/>
-            Default is <code>false</code>.
-        </property>
-        <property name="Write Concern: Fsync" required="No">
-            The <code>fsync</code> value of the global 
<code>WriteConcern</code>.<br/>
-            Default is <code>false</code>.
-        </property>
-        <property name="Write Concern: Wait for Journal" required="No">
-            The <code>j</code> value of the global 
<code>WriteConcern</code>.<br/>
-            Default is <code>false</code>.
-        </property>
-        <property name="Write Concern: Wait for servers" required="No">
-            The <code>w</code> value of the global 
<code>WriteConcern</code>.<br/>Default is <code>0</code>.
-        </property>
-        <property name="Write Concern: Wait timeout" required="No">
-            The <code>wtimeout</code> value of the global 
<code>WriteConcern</code>.<br/>Default is <code>0</code>.
-        </property>
-        <property name="Write Concern: Continue on error" required="No">
-            If batch inserts should continue after the first error
-        </property>
-    </properties>
-</component>
-
 <a href="#">^</a>
 
 <component name="Bolt Connection Configuration" index="&sect-num;.4.21"
diff --git a/xdocs/usermanual/properties_reference.xml 
b/xdocs/usermanual/properties_reference.xml
index d74ece0613..a40ae5027a 100644
--- a/xdocs/usermanual/properties_reference.xml
+++ b/xdocs/usermanual/properties_reference.xml
@@ -246,10 +246,6 @@ Defaults to: <code>true</code>
 </property>
 <property name="not_in_menu">
     Components to not display in JMeter GUI (GUI class name or static 
label).<br/>
-    These elements are deprecated and will be removed in next version:
-    <source>MongoDB Script, MongoDB Source Config</source>
-    Defaults to:
-    <source>org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler, 
org.apache.jmeter.protocol.mongodb.config.MongoSourceElement</source>
 </property>
 <property name="undo.history.size">
     Number of items in undo history.<br/>

Reply via email to