Bug 59777 - Extract slf4j binding into its own jar and make it a jmeter lib
Summary: Extract slf4j binding into its own jar and make it a jmeter lib
Status: RESOLVED FIXED
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 3.0
Hardware: All All
: P2 major (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-01 12:07 UTC by mgiorgino
Modified: 2016-08-30 17:33 UTC (History)
4 users (show)



Attachments
Move slf4j binding to its own jar (39.93 KB, patch)
2016-07-07 17:40 UTC, Felix Schumacher
Details | Diff
Version 2 of patch (24.97 KB, patch)
2016-08-01 15:09 UTC, Philippe Mouawad
Details | Diff
Remove duplicate files left over by v2 patch (16.53 KB, patch)
2016-08-01 18:58 UTC, Felix Schumacher
Details | Diff
Version 3 of patch (40.32 KB, patch)
2016-08-01 19:25 UTC, Felix Schumacher
Details | Diff
Version 4 of patch (41.68 KB, patch)
2016-08-01 19:48 UTC, Philippe Mouawad
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mgiorgino 2016-07-01 12:07:13 UTC
I am just pasting the message from Jerome in comments of Bug-58794 because he didn't create its own bug, and we have the same problem:

-----
Hi, we at octoperf.com have dependencies on JMeter maven artifacts to support importing JMeter scripts.

Due to slf4j.impl.StaticLoggerBinder being patched in ApacheJMeter_core:3.0, we cannot upgrade from version 2.13. This patched binder has hardcoded dependency on JMeter's LogkitLoggerFactory, which itself depends on Jorphan and logkit.

This causes slf4j binding conflicts in our application making any JMeter 3.0 maven artifact unusable as dependency:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/ubuntu/.m2/repository/org/apache/jmeter/ApacheJMeter_core/3.0/ApacheJMeter_core-3.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/ubuntu/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

Is it possible to address this issue in a 3.0.1 fix version? We are completely stuck upgrading jmeter for now. 

I would suggest to:
- move the logkit StaticLoggerBinder into a separate jar,
- add this separate log jar to jmeter's classpath,
- remove any dependency to logkit / jorphan loggers in Apache JMeter code, and rely on SLF4J instead.

This would allow to completely control which logger is used by JMeter components and safely integrate jmeter's API into any existing java application.
Comment 1 benoit.wiart 2016-07-07 09:10:47 UTC
> - remove any dependency to logkit / jorphan loggers in Apache JMeter code, and rely on SLF4J instead.

Yeah!
+1
Comment 2 Felix Schumacher 2016-07-07 17:40:39 UTC
Created attachment 34021 [details]
Move slf4j binding to its own jar

This is a first try at extracting the slf4j binding into its own jar.

I would be very glad if someone knowledgeable could have a look upon it.
Comment 3 Philippe Mouawad 2016-07-21 21:01:15 UTC
Hi Felix,
Thanks for patch.
It looks globally good to me except for the dependency on jorphan.
I think it shouldn't depend on it at all.

I see 2 problems of it does:
- jorphan may have issues if we want to use slf4j in it
- I think slf4j impl are usually very lightweight

So it should only depend on logkit.

Regards
Comment 4 Jerome 2016-07-26 09:55:58 UTC
Mentioned same issue here:
https://bz.apache.org/bugzilla/show_bug.cgi?id=58794
Comment 5 Jerome 2016-07-26 09:57:31 UTC
We have exactly same issue, impossible to upgrade to JMeter 3.0 artifacts, this is critical for us. Any hardcoded logger should be dropped from jars published on maven repository. The logger binding should only be included in the JMeter's lib/ folder.
Comment 6 Philippe Mouawad 2016-07-31 20:12:26 UTC
@Jerome, could you try the patch provided by Felix updated with my comment which is to not depend on jorphan ?

Would it be ok for you or not ?
Thank you
Comment 7 Philippe Mouawad 2016-08-01 15:09:31 UTC
Created attachment 34083 [details]
Version 2 of patch

Patch based on Felix one with following changes:
- No dependency on jorphan
- Dedicated pom
- Add missing elements to eclipse.classpath
- update of build.xml
Comment 8 Philippe Mouawad 2016-08-01 15:15:55 UTC
Hello @Jerome,
Could you test this new patch ? 

I think it should do the job for you if you include jmeter dependency in your pom and exclude this one:

- org.apache.jmeter:ApacheJMeter_slf4j_logkit


@Ardesco, is this a problem for you jmeter maven plugin ? Would it be possible to test ?

@Team, shall I commit this so that it's easier for 3rd parties and reporter to test ?
Thanks
Comment 9 Jerome 2016-08-01 17:08:57 UTC
Hi, i'm currently on vacation, i cannot test the patch.

However, none of the ApacheJMeter artifacts should have any dependency to ApacheJMeter_slf4j_logkit, or it means it's being required to compile / run. This dependency must be included in the build only.

Is logkit required on runtime too? We instantiate Hashtree, samplers and so on. Excluding won't work if any code inside JMeter is still depending on Logkit, it will fail on runtime.
Comment 10 Jerome 2016-08-01 17:22:57 UTC
After inspecting the patch source, all the Ifs checking if the message must be logged are useless as these checks are already performed by the logger itself. (see LogkitLoggerAdapter)

See logkit Logger sources for confirmation.
Comment 11 Philippe Mouawad 2016-08-01 18:22:04 UTC
(In reply to Jerome from comment #9)
> Hi, i'm currently on vacation, i cannot test the patch.
> 
> However, none of the ApacheJMeter artifacts should have any dependency to
> ApacheJMeter_slf4j_logkit, or it means it's being required to compile / run.
They don't , we will remove its reference in the core pom.

> This dependency must be included in the build only.
> 
> Is logkit required on runtime too? 
Yes and it is not planned for removal for now.

We instantiate Hashtree, samplers and so
> on. Excluding won't work if any code inside JMeter is still depending on
> Logkit, it will fail on runtime.

I don't get the argument.
Slf4j binding for logkit is here to allow any slf4j logger to work and log to logkit.
It is in addition to logkit use by jmeter.
In a future, we will probably remove logkit and use slf4j everywhere but not in next release.

I don't get what you issue would be provided you include logkit and exclude slf4j_logkit.
Comment 12 Jerome 2016-08-01 18:28:25 UTC
Then, jmeter artifacts should depend on logkit and the build should include ApacheJMeter_slf4j_logkit in the lib folder (without anyone else to have a dependency on it). The logkit-slf4j bridge should not be seen by anyone, it's a runtime dependency not a compile dependency. JMeter artifacts can then depend on logkit until the dependency is removed in favor of slf4j. We will then exclude jorphan from the dependencies.
Comment 13 Felix Schumacher 2016-08-01 18:58:05 UTC
Created attachment 34085 [details]
Remove duplicate files left over by v2 patch

I think we should remove the moved files from the core :)
Comment 14 Felix Schumacher 2016-08-01 19:25:01 UTC
Created attachment 34086 [details]
Version 3 of patch

Based on patch by Philippe with:
 * Removal of left over files in core
 * whitespace police
 * Removal of some if-statements in the Adapter (where no objects where created)
Comment 15 Philippe Mouawad 2016-08-01 19:48:36 UTC
Created attachment 34087 [details]
Version 4 of patch

Hi Felix, Jerome,

Version 4 of patch based on Felix patch (Except for space  police (sorry Felix I will fix it in the end :-) ): 
- The slf4j_logkit is now in lib folder like jorphan instead of lib/ext

Note the new lib ApacheJMeter_slf4j_logkit.jar is not referenced as a dependency anywhere.

I think this time it should be ok.
Regards
Philippe
Comment 16 Philippe Mouawad 2016-08-02 21:16:38 UTC
@Team, ok to commit it ?
I will wait for thursday before commiting.

Regards
Comment 17 Philippe Mouawad 2016-08-02 21:17:03 UTC
(In reply to Philippe Mouawad from comment #16)
> @Team, ok to commit it ?
> I will wait for thursday before commiting.
> 
> Regards

Unless Felix you want to commit it :-)
Comment 18 Jerome 2016-08-03 06:34:53 UTC
LGTM :)
Comment 19 UbikLoadPack support 2016-08-05 19:26:08 UTC
Author: fschumacher and pmouawad
Date: Fri Aug  5 19:13:00 2016
New Revision: 1755373

URL: http://svn.apache.org/viewvc?rev=1755373&view=rev
Log:
Bug 59777 - Extract slf4j binding into its own jar and make it a jmeter lib
Bugzilla Id: 59777

Added:
    jmeter/trunk/res/maven/ApacheJMeter_slf4j_logkit.pom
    jmeter/trunk/src/slf4j-logkit/
    jmeter/trunk/src/slf4j-logkit/org/
    jmeter/trunk/src/slf4j-logkit/org/apache/
    jmeter/trunk/src/slf4j-logkit/org/apache/jmeter/
    jmeter/trunk/src/slf4j-logkit/org/apache/jmeter/logging/
    jmeter/trunk/src/slf4j-logkit/org/apache/jmeter/logging/LogkitLoggerAdapter.java   (with props)
    jmeter/trunk/src/slf4j-logkit/org/apache/jmeter/logging/LogkitLoggerFactory.java   (with props)
    jmeter/trunk/src/slf4j-logkit/org/slf4j/
    jmeter/trunk/src/slf4j-logkit/org/slf4j/impl/
    jmeter/trunk/src/slf4j-logkit/org/slf4j/impl/StaticLoggerBinder.java   (with props)
Removed:
    jmeter/trunk/src/core/org/apache/jmeter/logging/
    jmeter/trunk/src/core/org/slf4j/
Modified:
    jmeter/trunk/build.xml
    jmeter/trunk/eclipse.classpath
    jmeter/trunk/xdocs/changes.xml
Comment 20 Philippe Mouawad 2016-08-06 06:56:40 UTC
Hello,
Tests and feedback on nightly build are very welcome by reporters.

thank you
Comment 21 Philippe Mouawad 2016-08-10 21:05:18 UTC
Hello Reporters,
Any feedback on nightly build ?
Thanks
Comment 22 mgiorgino 2016-08-12 18:47:11 UTC
Sorry, person in charge of this component here is in vacation.
Will keep you informed.

Thanks
Comment 23 Sanjay Singh 2016-08-17 13:47:38 UTC
Hi,

I'm too getting error with slf4j binding while adding the tika library the error logs are below:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/tika-app-1.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/ext/ApacheJMeter_core.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

Also I've found that the versions of tika-core and tika-parsers has been downgraded in Jmeter 3.0 compare to Jmeter 2.13 under the Lib folder.

I would appreciate a quick fix on this issue or if there is any anticipate date of the new release.
Comment 24 Sanjay Singh 2016-08-17 14:03:09 UTC
Hi,

I'm too getting error with slf4j binding while adding the tika library the error logs are below:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/tika-app-1.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/ext/ApacheJMeter_core.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

Also I've found that the versions of tika-core and tika-parsers has been downgraded in Jmeter 3.0 compare to Jmeter 2.13 under the Lib folder.

I would appreciate a quick fix on this issue or if there is any anticipate date of the new release.
Comment 25 Philippe Mouawad 2016-08-17 18:42:34 UTC
Hello,
Find answers below inline.

(In reply to Sanjay Singh from comment #24)
> Hi,
> 
> I'm too getting error with slf4j binding while adding the tika library the
> error logs are below:
> 
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/tika-app-1.13.jar!/org/
> slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
> [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/ext/ApacheJMeter_core.jar!/
> org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> 

This has been fixed in nightly build.
You can test it and give your feedback, it  will help us and help you.
http://jmeter.apache.org/nightly.html

> Also I've found that the versions of tika-core and tika-parsers has been
> downgraded in Jmeter 3.0 compare to Jmeter 2.13 under the Lib folder.

No, they have been upgraded as per release notes:
Updated to tika-core and tika-parsers 1.12 (from 1.7)
http://jmeter.apache.org/changes.html

Maybe they have been modified in your setup.
> 
> I would appreciate a quick fix on this issue or if there is any anticipate
> date of the new release.
Comment 26 Sanjay Singh 2016-08-18 09:56:22 UTC
(In reply to Philippe Mouawad from comment #25)
> Hello,
> Find answers below inline.
> 
> (In reply to Sanjay Singh from comment #24)
> > Hi,
> > 
> > I'm too getting error with slf4j binding while adding the tika library the
> > error logs are below:
> > 
> > SLF4J: Class path contains multiple SLF4J bindings.
> > SLF4J: Found binding in
> > [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/tika-app-1.13.jar!/org/
> > slf4j/impl/StaticLoggerBinder.class]
> > SLF4J: Found binding in
> > [jar:file:/C:/apache-jmeter/apache-jmeter-3.0/lib/ext/ApacheJMeter_core.jar!/
> > org/slf4j/impl/StaticLoggerBinder.class]
> > SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> > explanation.
> > SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> > 
> 
> This has been fixed in nightly build.
> You can test it and give your feedback, it  will help us and help you.
> http://jmeter.apache.org/nightly.html
> 
> > Also I've found that the versions of tika-core and tika-parsers has been
> > downgraded in Jmeter 3.0 compare to Jmeter 2.13 under the Lib folder.
> 
> No, they have been upgraded as per release notes:
> Updated to tika-core and tika-parsers 1.12 (from 1.7)
> http://jmeter.apache.org/changes.html
> 
> Maybe they have been modified in your setup.
> > 
> > I would appreciate a quick fix on this issue or if there is any anticipate
> > date of the new release.
********************************************************************************
Hi Philippe,

Thank you for your quick response on this, I've verified the issue from the nightly build but unfortunately not much luck here...
the only difference observed is on the jmeter 3.0 when we add Apache tika library it throw the error on the Jmeter console as soon as we run the jmeter.bat and now with nightly build it throws the following error when we run the project :

Console Log:
-----------
Writing log file to: C:\apache-jmeter\Nightly Build\apache-jmeter-r1756683\bin\jmeter.log
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/Nightly%20Build/apache-jmeter-r1756683/lib/ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/Nightly%20Build/apache-jmeter-r1756683/lib/tika-app-1.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.jmeter.logging.LogkitLoggerFactory]
SLF4J: The following set of substitute loggers may have been accessed
SLF4J: during the initialization phase. Logging calls during this
SLF4J: phase were not honored. However, subsequent logging calls to these
SLF4J: loggers will work as normally expected.
SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
SLF4J: org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager
SLF4J: org.apache.jmeter.protocol.http.sampler.JMeterClientConnectionOperator
SLF4J: org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$7

Jmeter Log viewer:
------------------
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
2016/08/18 15:11:06 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/08/18 15:11:06 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/08/18 15:11:06 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting setUp thread groups 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting setUp ThreadGroup: 1 : setUp Thread Group 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group setUp Thread Group. 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/08/18 15:11:06 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2016/08/18 15:11:06 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Waiting for all setup thread groups to exit 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread started: setUp Thread Group 1-1 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread is done: setUp Thread Group 1-1 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread finished: setUp Thread Group 1-1 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: All Setup Threads have ended 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 :   Order - Test 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting 20 threads for group  - Test. 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/08/18 15:11:06 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 20 ramp-up 1 perThread 50.0 delayedStart=false 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-1 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-2 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-3 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-4 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-5 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-6 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-7 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-8 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-9 
2016/08/18 15:11:07 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/08/18 15:11:07 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-10 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-11 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-12 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-13 
2016/08/18 15:11:08 INFO  - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = CYG365 
2016/08/18 15:11:08 INFO  - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-14 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-15 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-16 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-17 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-18 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-19 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-20 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-17 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-17 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-15 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-15 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done: Order - Test 1-9 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-9 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done: Order - Test 1-20 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-20 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-14 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-14 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-11 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-11 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-4 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-4 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-13 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-13 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-16 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-16 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-3 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-3 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-8 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-8 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-5 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-5 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-7 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-7 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-2 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-2 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-6 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-6 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-1 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-1 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-19 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-19 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-18 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-18 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-12 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-12 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-10 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-10 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Starting tearDown thread groups 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Starting tearDown ThreadGroup: 1 : tearDown Thread Group 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group tearDown Thread Group. 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/08/18 15:11:18 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2016/08/18 15:11:18 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread started: tearDown Thread Group 1-1 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done: tearDown Thread Group 1-1 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished: tearDown Thread Group 1-1 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2016/08/18 15:11:18 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)

***********************************************************************************

The most surprising part in Jmeter log viewer it says as "WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. " even when I have this "tika-app.jartika-app-1.13" in Jmeter lib directory.

I also confirm that I was using same setup in earlier version of Jmeter apache-jmeter-2.13 and every thing is working fine for me.

-Thank you.
Comment 27 Sanjay Singh 2016-08-18 18:11:58 UTC
Hi Philippe,

Thank you for your quick response on this, I've verified the issue from the nightly build but unfortunately not much luck here...
the only difference observed is on the jmeter 3.0 when we add Apache tika library it throw the error on the Jmeter console as soon as we run the jmeter.bat and now with nightly build it throws the following error when we run the project :

Console Log:
-----------
Writing log file to: C:\apache-jmeter\Nightly Build\apache-jmeter-r1756683\bin\jmeter.log
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/Nightly%20Build/apache-jmeter-r1756683/lib/ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apache-jmeter/Nightly%20Build/apache-jmeter-r1756683/lib/tika-app-1.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.jmeter.logging.LogkitLoggerFactory]
SLF4J: The following set of substitute loggers may have been accessed
SLF4J: during the initialization phase. Logging calls during this
SLF4J: phase were not honored. However, subsequent logging calls to these
SLF4J: loggers will work as normally expected.
SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
SLF4J: org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager
SLF4J: org.apache.jmeter.protocol.http.sampler.JMeterClientConnectionOperator
SLF4J: org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$7

Jmeter Log viewer:
------------------
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
2016/08/18 15:11:06 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/08/18 15:11:06 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/08/18 15:11:06 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting setUp thread groups 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting setUp ThreadGroup: 1 : setUp Thread Group 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group setUp Thread Group. 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/08/18 15:11:06 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2016/08/18 15:11:06 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Waiting for all setup thread groups to exit 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread started: setUp Thread Group 1-1 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread is done: setUp Thread Group 1-1 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread finished: setUp Thread Group 1-1 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: All Setup Threads have ended 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 :   Order - Test 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Starting 20 threads for group  - Test. 
2016/08/18 15:11:06 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/08/18 15:11:06 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 20 ramp-up 1 perThread 50.0 delayedStart=false 
2016/08/18 15:11:06 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-1 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-2 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-3 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-4 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-5 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-6 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-7 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-8 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-9 
2016/08/18 15:11:07 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/08/18 15:11:07 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-10 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-11 
2016/08/18 15:11:07 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-12 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-13 
2016/08/18 15:11:08 INFO  - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = CYG365 
2016/08/18 15:11:08 INFO  - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-14 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-15 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-16 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-17 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-18 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-19 
2016/08/18 15:11:08 INFO  - jmeter.threads.JMeterThread: Thread started: Express222_Outbound  Order - Test 1-20 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:09 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:14 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:15 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-17 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-17 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-15 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-15 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done: Order - Test 1-9 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-9 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done: Order - Test 1-20 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-20 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-14 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-14 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-11 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-11 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-4 
2016/08/18 15:11:16 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-4 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-13 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-13 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-16 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-16 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-3 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-3 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-8 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-8 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-5 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-5 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-7 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-7 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-2 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-2 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-6 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-6 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-1 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-1 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-19 
2016/08/18 15:11:17 INFO  - jmeter.threads.JMeterThread: Thread finished:  Order - Test 1-19 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-18 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-18 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-12 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-12 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done:   Order - Test 1-10 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished:   Order - Test 1-10 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Starting tearDown thread groups 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Starting tearDown ThreadGroup: 1 : tearDown Thread Group 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group tearDown Thread Group. 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/08/18 15:11:18 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2016/08/18 15:11:18 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread started: tearDown Thread Group 1-1 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread is done: tearDown Thread Group 1-1 
2016/08/18 15:11:18 INFO  - jmeter.threads.JMeterThread: Thread finished: tearDown Thread Group 1-1 
2016/08/18 15:11:18 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2016/08/18 15:11:18 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)

***********************************************************************************

The most surprising part in Jmeter log viewer it says as "WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. " even when I have this "tika-app.jartika-app-1.13" in Jmeter lib directory.

I also confirm that I was using same setup in earlier version of Jmeter apache-jmeter-2.13 and every thing is working fine for me.

-Thank you.
Comment 28 Jerome 2016-08-18 19:54:00 UTC
it's normal you still have the slf4j binding issue. You have to remove the "ApacheJMeter_slf4j_logkit.jar" jar file from lib/ folder to solve this issue. Previously it wasn't possible because the slf4j binding was embedded inside the jmeter core jar file.
Comment 29 Philippe Mouawad 2016-08-18 20:00:43 UTC
@ Sanjay Singh 
Thank you for your feedback but I asked you to test nightly build, it appears you are testing 3.0 as per this message:
SLF4J: Found binding in [jar:file:/home/ubuntu/.m2/repository/org/apache/jmeter/ApacheJMeter_core/3.0/ApacheJMeter_core-3.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]

I made a test downloading tika-app-1.13.jar and putting it in jmeter/lib.

I indeed get the same warning message about 2 bindings:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/data/jmeter/jmeters/apache-jmeter-r1756701/lib/ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/data/jmeter/jmeters/apache-jmeter-r1756701/lib/tika-app-1.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.jmeter.logging.LogkitLoggerFactory]

First, parsing of document works fine foe me.

And, regarding the warning message, notice it mentions ApacheJMeter_slf4j_logkit.jar.

This tells you that both Tika-app.jar  (which embeds at lot of jars in 1 jar , this BIG jar includes slf4j) and ApacheJMeter_slf4j_logkit.jar have a binding.
To get rid of it either remove ApacheJMeter_slf4j_logkit.jar or use tika libraries (not the big one).


I think the issue is fixed.


@Jerome,did you have time to test nightly build ? is it ok for you ?

Thanks
Comment 30 Sanjay Singh 2016-08-19 04:44:26 UTC
Hi,

@Philippe Mouawad
I've tested the nighly build and the anlysis posted in #Comment 27 are based on that only. this is the build I've (Nightly Build\apache-jmeter-r1756683\) downloaded from here yesterday I hope that's the right one :
https://builds.apache.org/job/JMeter-trunk/lastSuccessfulBuild/artifact/trunk/dist/


@Jerome's solution to remove the "ApacheJMeter_slf4j_logkit.jar" from lib folder works fine for me in nightly build i removed this particular jar and there is no error on console but still under the Jmeter log viewer i get following Waring message even I'm able to get the data from the tika library and the functionality seems to be working but don't know why getting warning on logs :

2016/08/19 09:49:45 WARN  - jmeter.util.Document: Probably: Missing tika-app.jar in classpath. Unable to convert to plain text this kind of document.
Download the tika-app-x.x.jar file from http://tika.apache.org/download.html
And put the file in <JMeter>/lib directory. 

But anyways the warning is not a biggy one, I will request you to merge this fix and release a jmeter setup so that lots of people like me can upgrade to the next version. 

Thanks.
Comment 31 Sanket Modi 2016-08-22 12:12:56 UTC
Hi.. I took the last success build from jenkins (apache-jmeter-r1756996) but still i am getting the same issue,

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/sanmodi/Downloads/apache-jmeter-r1756996/lib/ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/sanmodi/Downloads/apache-jmeter-r1756996/lib/iotsp-auto-all.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.jmeter.logging.LogkitLoggerFactory]
java.lang.ClassCastException: org.apache.jmeter.logging.LogkitLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext

My project contains ch qos logback.. i tried using it as ext and lib but in both the case i got the same error.. can you please suggest what i am doing wrong ?
Comment 32 Felix Schumacher 2016-08-22 12:30:16 UTC
@Sanket look at comment 28 from Jerome. (In reply to Sanket Modi from comment #31)
> Hi.. I took the last success build from jenkins (apache-jmeter-r1756996) but
> still i am getting the same issue,
> 
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/Users/sanmodi/Downloads/apache-jmeter-r1756996/lib/
> ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
> [jar:file:/Users/sanmodi/Downloads/apache-jmeter-r1756996/lib/iotsp-auto-all.
> jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J: Actual binding is of type
> [org.apache.jmeter.logging.LogkitLoggerFactory]
> java.lang.ClassCastException: org.apache.jmeter.logging.LogkitLoggerFactory
> cannot be cast to ch.qos.logback.classic.LoggerContext
> 
> My project contains ch qos logback.. i tried using it as ext and lib but in
> both the case i got the same error.. can you please suggest what i am doing
> wrong ?

Look at comment 28 from Jerome.
Comment 33 Sanket Modi 2016-08-23 05:36:36 UTC
@Felix Thanks :) It worked as suggested by Jerome..

(In reply to Felix Schumacher from comment #32)
> @Sanket look at comment 28 from Jerome. (In reply to Sanket Modi from
> comment #31)
Comment 34 Philippe Mouawad 2016-08-23 05:45:33 UTC
@Felix, is the fix enough or should we document this removal of specific jar somewhere ?
If yes, where ?

Thanks
Comment 35 Sanjay Singh 2016-08-24 11:53:39 UTC
I do see a long message chain along with fix comments here do we have any plan to release this out ? I'm also stuck with this issue and can not upgrade my existing framework to Jmeter 3.0, I will be grateful for your help in this regards.
Comment 36 Felix Schumacher 2016-08-24 19:13:52 UTC
(In reply to Philippe Mouawad from comment #34)
> @Felix, is the fix enough or should we document this removal of specific jar
> somewhere ?

Seems so.

> If yes, where ?

Changelog/upgrade section and somewhere where maven is mentioned? 

> 
> Thanks
Comment 37 Raj Nam 2016-08-30 17:33:46 UTC
Any Plan or Anticipated date for getting the fix for this we are facing issue in tika-jar with 3.0V ??