You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Robert Krüger <kr...@lesspain.de> on 2015/08/05 18:57:15 UTC

Possible to avoid hangs in org.apache.solr.handler.admin.SystemInfoHandler

Hi,

I am tracking down a problem with huge startup delays of a solr instance
and tracked it down to this code in SystemInfoHandler:

  private void init() {
    try {
      InetAddress addr = InetAddress.getLocalHost();
      hostname = addr.getCanonicalHostName();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is where it hangs
    } catch (UnknownHostException e) {
      //default to null
    }
  }

The setup I have gives me no control over the local network configuration
as solr is delivered as part of a larger software that users install on
their machines and that has worked really well and it is technically fit
for this purpose just as other no-sql stores or rdbmss. However, when our
software users have problems like a reverse lookup not working because they
work in a VPN environment (which in no other way affects the correct
operation of solr) they currently have to wait a minute for solr startup
(otherwise about a second) because two timeouts of these lookups happen,
one when setting up the container, another for the core and that only to
have the "host" info contain a name that was reverse-looked up.

Would it be acceptable to submit a patch that allows this to be disabled
overidden by a system property be acceptable? I.e. suppress the lookup and
just use what can be retrieved about the host without a lookup (e.g. the ip
address).

Best regards,

Robert

Re: Possible to avoid hangs in org.apache.solr.handler.admin.SystemInfoHandler

Posted by Robert Krüger <kr...@lesspain.de>.
Created SOLR-7884 and attached a patch.

On Thu, Aug 6, 2015 at 10:25 AM, Robert Krüger <kr...@lesspain.de> wrote:

> Thanks for the instructions. I will do that.
>
> Cheers,
>
> Robert
>
> On Wed, Aug 5, 2015 at 9:50 PM, Erick Erickson <er...@gmail.com>
> wrote:
>
>> Robert:
>>
>> Just create a JIRA and submit it. It would be great if there were a
>> test that illustrated this, but I'm not sure how that would be
>> written. See: https://wiki.apache.org/solr/HowToContribute for the
>> general bits on checking out code, creating and attaching patches and
>> the like.
>>
>> Note that the naming conventions are SOLR-XXXX.patch and we use the
>> same name for multiple versions.
>>
>> Best,
>> Erick
>>
>> On Wed, Aug 5, 2015 at 2:52 PM, Robert Krüger <kr...@lesspain.de>
>> wrote:
>> > Just to follow up on this: Replacing getCanonicalHostName() by
>> getHostName()
>> > would solve the problem AFAICS and e.g. Logback does exactly that for
>> > exactly the same purpose.
>> >
>> > http://logback.qos.ch/xref/ch/qos/logback/core/util/ContextUtil.html
>> >
>> > How do I submit a patch? Via this mailing list?
>> >
>> > Best regards,
>> >
>> > Robert
>> >
>> > On Wed, Aug 5, 2015 at 6:57 PM, Robert Krüger <kr...@lesspain.de>
>> wrote:
>> >>
>> >>
>> >> Hi,
>> >>
>> >> I am tracking down a problem with huge startup delays of a solr
>> instance
>> >> and tracked it down to this code in SystemInfoHandler:
>> >>
>> >>   private void init() {
>> >>     try {
>> >>       InetAddress addr = InetAddress.getLocalHost();
>> >>       hostname = addr.getCanonicalHostName();
>> >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is where it hangs
>> >>     } catch (UnknownHostException e) {
>> >>       //default to null
>> >>     }
>> >>   }
>> >>
>> >> The setup I have gives me no control over the local network
>> configuration
>> >> as solr is delivered as part of a larger software that users install on
>> >> their machines and that has worked really well and it is technically
>> fit for
>> >> this purpose just as other no-sql stores or rdbmss. However, when our
>> >> software users have problems like a reverse lookup not working because
>> they
>> >> work in a VPN environment (which in no other way affects the correct
>> >> operation of solr) they currently have to wait a minute for solr
>> startup
>> >> (otherwise about a second) because two timeouts of these lookups
>> happen, one
>> >> when setting up the container, another for the core and that only to
>> have
>> >> the "host" info contain a name that was reverse-looked up.
>> >>
>> >> Would it be acceptable to submit a patch that allows this to be
>> disabled
>> >> overidden by a system property be acceptable? I.e. suppress the lookup
>> and
>> >> just use what can be retrieved about the host without a lookup (e.g.
>> the ip
>> >> address).
>> >>
>> >> Best regards,
>> >>
>> >> Robert
>> >>
>> >
>> >
>> >
>> > --
>> > Robert Krüger
>> > Managing Partner
>> > Lesspain GmbH & Co. KG
>> >
>> > www.lesspain-software.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: dev-help@lucene.apache.org
>>
>>
>
>
> --
> Robert Krüger
> Managing Partner
> Lesspain GmbH & Co. KG
>
> www.lesspain-software.com
>



-- 
Robert Krüger
Managing Partner
Lesspain GmbH & Co. KG

www.lesspain-software.com

Re: Possible to avoid hangs in org.apache.solr.handler.admin.SystemInfoHandler

Posted by Robert Krüger <kr...@lesspain.de>.
Thanks for the instructions. I will do that.

Cheers,

Robert

On Wed, Aug 5, 2015 at 9:50 PM, Erick Erickson <er...@gmail.com>
wrote:

> Robert:
>
> Just create a JIRA and submit it. It would be great if there were a
> test that illustrated this, but I'm not sure how that would be
> written. See: https://wiki.apache.org/solr/HowToContribute for the
> general bits on checking out code, creating and attaching patches and
> the like.
>
> Note that the naming conventions are SOLR-XXXX.patch and we use the
> same name for multiple versions.
>
> Best,
> Erick
>
> On Wed, Aug 5, 2015 at 2:52 PM, Robert Krüger <kr...@lesspain.de> wrote:
> > Just to follow up on this: Replacing getCanonicalHostName() by
> getHostName()
> > would solve the problem AFAICS and e.g. Logback does exactly that for
> > exactly the same purpose.
> >
> > http://logback.qos.ch/xref/ch/qos/logback/core/util/ContextUtil.html
> >
> > How do I submit a patch? Via this mailing list?
> >
> > Best regards,
> >
> > Robert
> >
> > On Wed, Aug 5, 2015 at 6:57 PM, Robert Krüger <kr...@lesspain.de>
> wrote:
> >>
> >>
> >> Hi,
> >>
> >> I am tracking down a problem with huge startup delays of a solr instance
> >> and tracked it down to this code in SystemInfoHandler:
> >>
> >>   private void init() {
> >>     try {
> >>       InetAddress addr = InetAddress.getLocalHost();
> >>       hostname = addr.getCanonicalHostName();
> >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is where it hangs
> >>     } catch (UnknownHostException e) {
> >>       //default to null
> >>     }
> >>   }
> >>
> >> The setup I have gives me no control over the local network
> configuration
> >> as solr is delivered as part of a larger software that users install on
> >> their machines and that has worked really well and it is technically
> fit for
> >> this purpose just as other no-sql stores or rdbmss. However, when our
> >> software users have problems like a reverse lookup not working because
> they
> >> work in a VPN environment (which in no other way affects the correct
> >> operation of solr) they currently have to wait a minute for solr startup
> >> (otherwise about a second) because two timeouts of these lookups
> happen, one
> >> when setting up the container, another for the core and that only to
> have
> >> the "host" info contain a name that was reverse-looked up.
> >>
> >> Would it be acceptable to submit a patch that allows this to be disabled
> >> overidden by a system property be acceptable? I.e. suppress the lookup
> and
> >> just use what can be retrieved about the host without a lookup (e.g.
> the ip
> >> address).
> >>
> >> Best regards,
> >>
> >> Robert
> >>
> >
> >
> >
> > --
> > Robert Krüger
> > Managing Partner
> > Lesspain GmbH & Co. KG
> >
> > www.lesspain-software.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>


-- 
Robert Krüger
Managing Partner
Lesspain GmbH & Co. KG

www.lesspain-software.com

Re: Possible to avoid hangs in org.apache.solr.handler.admin.SystemInfoHandler

Posted by Erick Erickson <er...@gmail.com>.
Robert:

Just create a JIRA and submit it. It would be great if there were a
test that illustrated this, but I'm not sure how that would be
written. See: https://wiki.apache.org/solr/HowToContribute for the
general bits on checking out code, creating and attaching patches and
the like.

Note that the naming conventions are SOLR-XXXX.patch and we use the
same name for multiple versions.

Best,
Erick

On Wed, Aug 5, 2015 at 2:52 PM, Robert Krüger <kr...@lesspain.de> wrote:
> Just to follow up on this: Replacing getCanonicalHostName() by getHostName()
> would solve the problem AFAICS and e.g. Logback does exactly that for
> exactly the same purpose.
>
> http://logback.qos.ch/xref/ch/qos/logback/core/util/ContextUtil.html
>
> How do I submit a patch? Via this mailing list?
>
> Best regards,
>
> Robert
>
> On Wed, Aug 5, 2015 at 6:57 PM, Robert Krüger <kr...@lesspain.de> wrote:
>>
>>
>> Hi,
>>
>> I am tracking down a problem with huge startup delays of a solr instance
>> and tracked it down to this code in SystemInfoHandler:
>>
>>   private void init() {
>>     try {
>>       InetAddress addr = InetAddress.getLocalHost();
>>       hostname = addr.getCanonicalHostName();
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is where it hangs
>>     } catch (UnknownHostException e) {
>>       //default to null
>>     }
>>   }
>>
>> The setup I have gives me no control over the local network configuration
>> as solr is delivered as part of a larger software that users install on
>> their machines and that has worked really well and it is technically fit for
>> this purpose just as other no-sql stores or rdbmss. However, when our
>> software users have problems like a reverse lookup not working because they
>> work in a VPN environment (which in no other way affects the correct
>> operation of solr) they currently have to wait a minute for solr startup
>> (otherwise about a second) because two timeouts of these lookups happen, one
>> when setting up the container, another for the core and that only to have
>> the "host" info contain a name that was reverse-looked up.
>>
>> Would it be acceptable to submit a patch that allows this to be disabled
>> overidden by a system property be acceptable? I.e. suppress the lookup and
>> just use what can be retrieved about the host without a lookup (e.g. the ip
>> address).
>>
>> Best regards,
>>
>> Robert
>>
>
>
>
> --
> Robert Krüger
> Managing Partner
> Lesspain GmbH & Co. KG
>
> www.lesspain-software.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Re: Possible to avoid hangs in org.apache.solr.handler.admin.SystemInfoHandler

Posted by Robert Krüger <kr...@lesspain.de>.
Just to follow up on this: Replacing getCanonicalHostName() by
getHostName() would solve the problem AFAICS and e.g. Logback does exactly
that for exactly the same purpose.

http://logback.qos.ch/xref/ch/qos/logback/core/util/ContextUtil.html

How do I submit a patch? Via this mailing list?

Best regards,

Robert

On Wed, Aug 5, 2015 at 6:57 PM, Robert Krüger <kr...@lesspain.de> wrote:

>
> Hi,
>
> I am tracking down a problem with huge startup delays of a solr instance
> and tracked it down to this code in SystemInfoHandler:
>
>   private void init() {
>     try {
>       InetAddress addr = InetAddress.getLocalHost();
>       hostname = addr.getCanonicalHostName();
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is where it hangs
>     } catch (UnknownHostException e) {
>       //default to null
>     }
>   }
>
> The setup I have gives me no control over the local network configuration
> as solr is delivered as part of a larger software that users install on
> their machines and that has worked really well and it is technically fit
> for this purpose just as other no-sql stores or rdbmss. However, when our
> software users have problems like a reverse lookup not working because they
> work in a VPN environment (which in no other way affects the correct
> operation of solr) they currently have to wait a minute for solr startup
> (otherwise about a second) because two timeouts of these lookups happen,
> one when setting up the container, another for the core and that only to
> have the "host" info contain a name that was reverse-looked up.
>
> Would it be acceptable to submit a patch that allows this to be disabled
> overidden by a system property be acceptable? I.e. suppress the lookup and
> just use what can be retrieved about the host without a lookup (e.g. the ip
> address).
>
> Best regards,
>
> Robert
>
>


-- 
Robert Krüger
Managing Partner
Lesspain GmbH & Co. KG

www.lesspain-software.com