Hi All;

I have defined just that:

 <autoSoftCommit>
         <maxTime>1</maxTime>
 </autoSoftCommit>

then turned of hard commit. I've run my tests time and time again and did
not get any error. Who wants to write a unit test that interacts with Solr
as like my situation can use it.

Thanks;
Furkan KAMACI


2014-05-26 23:37 GMT+03:00 Furkan KAMACI <furkankam...@gmail.com>:

> Hi Shawn;
>
> I know that it is a bad practise but I just commit up to 5 documents and
> there will not be more than 5 documents at any time at any test method. It
> is just for test purpose to see that my API works. I want to have
> automatic tests.
>
> What do you suggest for my purpose? If a test case fails re-running it for
> some times maybe a solution? What kind of configuration do you suggest for
> my Solr configuration?
>
> Thanks;
> Furkan KAMACI
> 26 May 2014 21:03 tarihinde "Shawn Heisey" <s...@elyograg.org> yazdı:
>
> On 5/26/2014 10:57 AM, Furkan KAMACI wrote:
>> > Hi;
>> >
>> > I run Solr within my Test Suite. I delete documents or atomically update
>> > them and check whether if it works or not. I know that I have to setup a
>> > hard/soft commit timing for my test Solr. However even I have that
>> settings:
>> >
>> >      <autoCommit>
>> >        <maxTime>1</maxTime>
>> >        <openSearcher>true</openSearcher>
>> >      </autoCommit>
>> >
>> >        <autoSoftCommit>
>> >          <maxTime>1</maxTime>
>> >        </autoSoftCommit>
>>
>> I hope you know that this is BAD configuration.  Doing automatic commits
>> on an interval of 1 millisecond is asking for a whole host of problems.
>>  In some cases, this could do a commit after every single document that
>> is indexed, which is NOT recommended at all.  The openSearcher setting
>> of "true" on autoCommit makes it even worse.  There's no reason to do
>> both autoSoftCommit and autoCommit with openSearcher=true.  I don't know
>> which one "wins" between autoCommit and autoSoftCommit if they both have
>> the same config, but I would guess the hard commit does.
>>
>> > and even I wait (Thread.sleep()) for a time to wait Solr *sometimes* my
>> > tests are failed. I get fail error even I increase wait time.  Example
>> of a
>> > sometimes failed code piece:
>> >
>> > for (int i = 0; i < dummyDocumentSize; i++) {
>> >          deleteById("id" + i);
>> >          dummyDocumentSize--;
>> >          queryResponse = query(solrParams);
>> >          assertTrue(queryResponse.getResults().size() ==
>> dummyDocumentSize);
>> >       }
>> >
>> > at debug mode if I wait for Solr to reflect changes I see that I do not
>> get
>> > error. What do you think, what kind of configuration I should have for
>> such
>> > kind of purposes?
>>
>> Chances are that commits are going to take longer than 1 millisecond.
>> If you're actively indexing, the system is going to be trying to stack
>> up lots of commits at the same time.  The maxWarmingSearchers value will
>> limit the number of new searchers that can be opened, but it will not
>> stop the commits themselves.  When lots of commits are going on, each
>> one will take *even longer* to complete, which probably explains the
>> problem.
>>
>> Thanks,
>> Shawn
>>
>>

Reply via email to