Hi Dmitry,
So it seems solrjmeter should not assume the adminPath - and perhaps needs
to be passed as an argument. When you set the adminPath, are you able to
access localhost:8983/solr/statements/admin/cores ?

roman


On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan <solrexp...@gmail.com> wrote:

> Hi Roman,
>
> I have noticed a difference with different solr.xml config contents. It is
> probably legit, but thought to let you know (tests run on fresh checkout as
> of today).
>
> As mentioned before, I have two cores configured in solr.xml. If the file
> is:
>
> [code]
> <solr persistent="false">
>
>   <!--
>   adminPath: RequestHandler path to manage cores.
>     If 'null' (or absent), cores will not be manageable via request handler
>   -->
>   <cores adminPath="/admin/cores" host="${host:}"
> hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
>     <core name="metadata" instanceDir="metadata" />
>     <core name="statements" instanceDir="statements" />
>   </cores>
> </solr>
> [/code]
>
> then the instruction:
>
> python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
> cms -t /solr/statements -e statements -U 100
>
> works just fine. If however the solr.xml has adminPath set to "/admin"
> solrjmeter produces an error:
>
> [error]
> **ERROR**
>   File "solrjmeter.py", line 1386, in <module>
>     main(sys.argv)
>   File "solrjmeter.py", line 1278, in main
>     check_prerequisities(options)
>   File "solrjmeter.py", line 375, in check_prerequisities
>     error('Cannot find admin pages: %s, please report a bug' % apath)
>   File "solrjmeter.py", line 66, in error
>     traceback.print_stack()
> Cannot find admin pages: http://localhost:8983/solr/admin, please report a
> bug
> [/error]
>
> With both solr.xml configs the following url returns just fine:
>
> http://localhost:8983/solr/statements/admin/system?wt=json
>
> Regards,
>
> Dmitry
>
>
>
> On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan <solrexp...@gmail.com> wrote:
>
> > Hi Roman,
> >
> > This looks much better, thanks! The ordinary non-comarison mode works.
> > I'll post here, if there are other findings.
> >
> > Thanks for quick turnarounds,
> >
> > Dmitry
> >
> >
> > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla <roman.ch...@gmail.com
> >wrote:
> >
> >> Hi Dmitry, oh yes, late night fixes... :) The latest commit should make
> it
> >> work for you.
> >> Thanks!
> >>
> >> roman
> >>
> >>
> >> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan <solrexp...@gmail.com>
> wrote:
> >>
> >> > Hi Roman,
> >> >
> >> > Something bad happened in fresh checkout:
> >> >
> >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> 60
> >> -R
> >> > cms -t /solr/statements -e statements -U 100
> >> >
> >> > Traceback (most recent call last):
> >> >   File "solrjmeter.py", line 1392, in <module>
> >> >     main(sys.argv)
> >> >   File "solrjmeter.py", line 1347, in main
> >> >     save_into_file('before-test.json', simplejson.dumps(before_test))
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line
> >> 286,
> >> > in dumps
> >> >     return _default_encoder.encode(obj)
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> >> 226,
> >> > in encode
> >> >     chunks = self.iterencode(o, _one_shot=True)
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> >> 296,
> >> > in iterencode
> >> >     return _iterencode(o, 0)
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> >> 202,
> >> > in default
> >> >     raise TypeError(repr(o) + " is not JSON serializable")
> >> > TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not
> >> JSON
> >> > serializable
> >> >
> >> >
> >> > Regards,
> >> >
> >> > D.
> >> >
> >> >
> >> > On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla <roman.ch...@gmail.com>
> >> > wrote:
> >> >
> >> > > Hi Dmitry,
> >> > >
> >> > >
> >> > >
> >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <solrexp...@gmail.com>
> >> > wrote:
> >> > >
> >> > > > Hi Roman,
> >> > > >
> >> > > > Good point. I managed to run the command with -C and double
> quotes:
> >> > > >
> >> > > > python solrjmeter.py -a -C "g1,cms" -c hour -x
> >> ./jmx/SolrQueryTest.jmx
> >> > > >
> >> > > > As a result got several files (html, css, js, csv) in the running
> >> > > directory
> >> > > > (any way to specify where the output should be stored in this
> case?)
> >> > > >
> >> > >
> >> > > i know it is confusing, i plan to change it - but later, now it is
> too
> >> > busy
> >> > > here...
> >> > >
> >> > >
> >> > > >
> >> > > > When I look onto the comparison dashboard, I see this:
> >> > > >
> >> > > > http://pbrd.co/17IRI0b
> >> > > >
> >> > >
> >> > > two things: the tests probably took more than one hour to finish, so
> >> they
> >> > > are not aligned - try generating the comparison with '-c  14400'
>  (ie.
> >> > > 4x3600 secs)
> >> > >
> >> > > the other thing: if you have only two datapoints, the dygraph will
> not
> >> > show
> >> > > anything - there must be more datapoints/measurements
> >> > >
> >> > >
> >> > >
> >> > > >
> >> > > > One more thing: all the previous tests were run with softCommit
> >> > disabled.
> >> > > > After enabling it, the tests started to fail:
> >> > > >
> >> > > > $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > > > ./queries/demo/demo.queries -s localhost -p 8983 -a
> >> --durationInSecs 60
> >> > > -R
> >> > > > g1 -t /solr/statements -e statements -U 100
> >> > > > $ cd g1
> >> > > > Reading results of the previous test
> >> > > > $ cd 2013.08.12.16.32.48
> >> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> >> > > > $ mkdir 2013.08.12.16.33.02
> >> > > > $ cd 2013.08.12.16.33.02
> >> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> >> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> >> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> >> > > > Traceback (most recent call last):
> >> > > >   File "solrjmeter.py", line 1427, in <module>
> >> > > >     main(sys.argv)
> >> > > >   File "solrjmeter.py", line 1381, in main
> >> > > >     before_test = harvest_details_about_montysolr(options)
> >> > > >   File "solrjmeter.py", line 562, in
> harvest_details_about_montysolr
> >> > > >     indexLstModified =
> >> > cores_data['status'][cn]['index']['lastModified'],
> >> > > > KeyError: 'lastModified'
> >> > > >
> >> > >
> >> > > Thanks for letting me know, that info is probably not available in
> >> this
> >> > > situation - i've cooked st quick to fix it, please try the latest
> >> commit
> >> > > (hope it doesn't do more harm, i should get some sleep ..;))
> >> > >
> >> > > roman
> >> > >
> >> > >
> >> > > >
> >> > > > In case it matters:  Python 2.7.3, ubuntu, solr 4.3.1.
> >> > > >
> >> > > > Thanks,
> >> > > >
> >> > > > Dmitry
> >> > > >
> >> > > >
> >> > > > On Thu, Aug 8, 2013 at 2:22 AM, Roman Chyla <
> roman.ch...@gmail.com>
> >> > > wrote:
> >> > > >
> >> > > > > Hi Dmitry,
> >> > > > > The command seems good. Are you sure your shell is not doing
> >> > something
> >> > > > > funny with the params? You could try:
> >> > > > >
> >> > > > > python solrjmeter.py -C "g1,foo" -c hour -x
> >> ./jmx/SolrQueryTest.jmx
> >> > -a
> >> > > > >
> >> > > > > where g1 and foo are results of the individual runs, ie.
> something
> >> > that
> >> > > > was
> >> > > > > started and saved with '-R g1' and '-R foo' respectively
> >> > > > >
> >> > > > > so, for example, i have these comparisons inside
> >> > > > > '/var/lib/montysolr/different-java-settings/solrjmeter', so I am
> >> > > > generating
> >> > > > > the comparison by:
> >> > > > >
> >> > > > > export
> >> > > > >
> >> SOLRJMETER_HOME=/var/lib/montysolr/different-java-settings/solrjmeter
> >> > > > > python solrjmeter.py -C "g1,foo" -c hour -x
> >> ./jmx/SolrQueryTest.jmx
> >> > -a
> >> > > > >
> >> > > > >
> >> > > > > roman
> >> > > > >
> >> > > > >
> >> > > > > On Wed, Aug 7, 2013 at 10:03 AM, Dmitry Kan <
> solrexp...@gmail.com
> >> >
> >> > > > wrote:
> >> > > > >
> >> > > > > > Hi Roman,
> >> > > > > >
> >> > > > > > One more question. I tried to compare different runs (g1 vs
> cms)
> >> > > using
> >> > > > > the
> >> > > > > > command below, but get an error. Should I attach some other
> >> > param(s)?
> >> > > > > >
> >> > > > > >
> >> > > > > > python solrjmeter.py -C g1,foo -c hour -x
> >> ./jmx/SolrQueryTest.jmx
> >> > > > > > **ERROR**
> >> > > > > >   File "solrjmeter.py", line 1427, in <module>
> >> > > > > >     main(sys.argv)
> >> > > > > >   File "solrjmeter.py", line 1303, in main
> >> > > > > >     check_options(options, args)
> >> > > > > >   File "solrjmeter.py", line 185, in check_options
> >> > > > > >     error("The folder '%s' does not exist" % rf)
> >> > > > > >   File "solrjmeter.py", line 66, in error
> >> > > > > >     traceback.print_stack()
> >> > > > > > The folder '0' does not exist
> >> > > > > >
> >> > > > > > Dmitry
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > > On Wed, Aug 7, 2013 at 4:13 PM, Dmitry Kan <
> >> solrexp...@gmail.com>
> >> > > > wrote:
> >> > > > > >
> >> > > > > > > Hi Roman,
> >> > > > > > >
> >> > > > > > > Finally, this has worked! Thanks for quick support.
> >> > > > > > >
> >> > > > > > > The graphs look awesome. At least on the index sample :) It
> is
> >> > > quite
> >> > > > > easy
> >> > > > > > > to setup and run + possible to run directly on the shard
> >> server
> >> > in
> >> > > > > > > background mode.
> >> > > > > > >
> >> > > > > > > my test run was:
> >> > > > > > >
> >> > > > > > > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > > > > > > ./queries/demo/demo.queries -s localhost -p 8983 -a
> >> > > --durationInSecs
> >> > > > 60
> >> > > > > > -R
> >> > > > > > > foo -t /solr/statements -e statements
> >> > > > > > >
> >> > > > > > > Thanks!
> >> > > > > > >
> >> > > > > > > Dmitry
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > On Wed, Aug 7, 2013 at 6:54 AM, Roman Chyla <
> >> > roman.ch...@gmail.com
> >> > > >
> >> > > > > > wrote:
> >> > > > > > >
> >> > > > > > >> Hi Dmitry,
> >> > > > > > >>
> >> > > > > > >> I've modified the solrjmeter to retrieve data from under
> the
> >> > core
> >> > > > (the
> >> > > > > > -t
> >> > > > > > >> parameter) and the rest from the /solr/admin - I could test
> >> it
> >> > > only
> >> > > > > > >> against
> >> > > > > > >> 4.0, but it is there the same as 4.3 - it seems...so you
> can
> >> try
> >> > > the
> >> > > > > > fresh
> >> > > > > > >> checkout
> >> > > > > > >>
> >> > > > > > >> my test was: python solrjmeter.py -a -x
> >> ./jmx/SolrQueryTest.jmx
> >> > -t
> >> > > > > > >> /solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s
> >> adsate
> >> > > > > > >>
> >> > > > > > >> Thanks!
> >> > > > > > >>
> >> > > > > > >> roman
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >> On Tue, Aug 6, 2013 at 9:46 AM, Dmitry Kan <
> >> > solrexp...@gmail.com>
> >> > > > > > wrote:
> >> > > > > > >>
> >> > > > > > >> > Hi,
> >> > > > > > >> >
> >> > > > > > >> > Thanks for the clarification, Shawn!
> >> > > > > > >> >
> >> > > > > > >> > So with this in mind, the following work:
> >> > > > > > >> >
> >> > > > > > >> >
> http://localhost:8983/solr/statements/admin/system?wt=json
> >> > > > > > >> >
> http://localhost:8983/solr/statements/admin/mbeans?wt=json
> >> > > > > > >> >
> >> > > > > > >> > not copying their output to save space.
> >> > > > > > >> >
> >> > > > > > >> > Roman:
> >> > > > > > >> >
> >> > > > > > >> > is this something that should be set via -t parameter as
> >> well?
> >> > > > > > >> >
> >> > > > > > >> > Dmitry
> >> > > > > > >> >
> >> > > > > > >> >
> >> > > > > > >> >
> >> > > > > > >> > On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey <
> >> > s...@elyograg.org
> >> > > >
> >> > > > > > wrote:
> >> > > > > > >> >
> >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> >> > > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
> >> > response:
> >> > > > > > >> > > <snip>
> >> > > > > > >> > > > The rest report 404.
> >> > > > > > >> > > >
> >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> >> > > > > > roman.ch...@gmail.com>
> >> > > > > > >> > > wrote:
> >> > > > > > >> > > >
> >> > > > > > >> > > >> Hi Dmitry,
> >> > > > > > >> > > >> So I think the admin pages are different on your
> >> version
> >> > of
> >> > > > > solr,
> >> > > > > > >> what
> >> > > > > > >> > > do
> >> > > > > > >> > > >> you see when you request... ?
> >> > > > > > >> > > >>
> >> > > > > > >> > > >> http://localhost:8983/solr/admin/system?wt=json
> >> > > > > > >> > > >> http://localhost:8983/solr/admin/mbeans?wt=json
> >> > > > > > >> > > >> http://localhost:8983/solr/admin/cores?wt=json
> >> > > > > > >> > >
> >> > > > > > >> > > Unless you have a valid defaultCoreName set in your
> >> > > (old-style)
> >> > > > > > >> > > solr.xml, the first two URLs won't work, as you've
> >> > discovered.
> >> > > > > > >>  Without
> >> > > > > > >> > > that valid defaultCoreName (or if you wanted info from
> a
> >> > > > different
> >> > > > > > >> > > core), you'd need to add a core name to the URL for
> them
> >> to
> >> > > > work.
> >> > > > > > >> > >
> >> > > > > > >> > > The third one, which works for you, is a global handler
> >> for
> >> > > > > > >> manipulating
> >> > > > > > >> > > cores, so naturally it doesn't need a core name to
> >> function.
> >> > > >  The
> >> > > > > > URL
> >> > > > > > >> > > path for this handler is defined by solr.xml.
> >> > > > > > >> > >
> >> > > > > > >> > > Thanks,
> >> > > > > > >> > > Shawn
> >> > > > > > >> > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Reply via email to