Bug 518664 - When user's browser specifies en or de-de in Accept-Language, doc search does not work
Summary: When user's browser specifies en or de-de in Accept-Language, doc search does...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: WebUI
Version: 530
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Partha Aji
QA Contact: Tomas Lestach
URL:
Whiteboard:
Depends On:
Blocks: sat540-blockers
TreeView+ depends on / blocked
 
Reported: 2009-08-21 14:59 UTC by Jan Pazdziora (Red Hat)
Modified: 2018-11-14 20:26 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-28 14:49:22 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jan Pazdziora (Red Hat) 2009-08-21 14:59:16 UTC
Description of problem:

If user's Locale Preferences is set to "Use Browser Settings" and the browser is set to send "en" or "de-de" before or with higher q than any other supported language identifier ("en-us", "de", "it"), search does not work and shows red message

Index files missing from search-server. Assuming data exists in database, indexes can be regenerated by running: /etc/init.d/rhn-search cleanindex, then restart rhn-search

Version-Release number of selected component (if applicable):

Satellite-5.3.0-RHEL5-re20090817.0

How reproducible:

Deterministic.

Steps to Reproduce:
1. Have GET where GET is defined as
$ rpm -qf /usr/bin/GET
perl-libwww-perl-5.825-2.fc11.noarch
or similar package on your system
2. Run
   $ for i in '' en en-us en,en-us en-us,en it,en 'it,en;q=2' \
     en-uk en-uk,en pt-br pt pt-br,pt pt,en-us cs cs,en ja ja-jp x-none
       do echo "Accept-Language: [$i]"
       GET -H "Accept-Language: $i" 'https://vmware139.englab.brq.redhat.com/rhn/help/Search.do?search_string=kickstart&view_mode=search_content_title' \
        | perl -lne 'if (m!/client-config/(.+?)/ch-rhnreg-ks\.jsp!) {
              print $1 ; exit }'
     done

Actual results:

Accept-Language: []
en-US
Accept-Language: [en]
Accept-Language: [en-us]
en-US
Accept-Language: [en,en-us]
Accept-Language: [en-us,en]
en-US
Accept-Language: [it,en]
it-IT
Accept-Language: [it,en;q=2]
Accept-Language: [en-uk]
en-US
Accept-Language: [en-uk,en]
Accept-Language: [pt-br]
pt-BR
Accept-Language: [pt]
Accept-Language: [pt-br,pt]
pt-BR
Accept-Language: [pt,en-us]
Accept-Language: [cs]
en-US
Accept-Language: [cs,en]
Accept-Language: [ja]
ja-JP
Accept-Language: [ja-jp]
en-US
Accept-Language: [x-none]
en-US

Expected results:

Accept-Language: []
en-US
Accept-Language: [en]
en-US
Accept-Language: [en-us]
en-US
Accept-Language: [en,en-us]
en-US
Accept-Language: [en-us,en]
en-US
Accept-Language: [it,en]
it-IT
Accept-Language: [it,en;q=2]
en-US (or it)
Accept-Language: [en-uk]
en-US
Accept-Language: [en-uk,en]
en-US
Accept-Language: [pt-br]
pt-BR
Accept-Language: [pt]
pt-BR or en-US
Accept-Language: [pt-br,pt]
pt-BR
Accept-Language: [pt,en-us]
pt-BR or en-US
Accept-Language: [cs]
en-US
Accept-Language: [cs,en]
Accept-Language: [ja]
ja-JP
Accept-Language: [ja-jp]
en-US
Accept-Language: [x-none]
en-US

Additional info:

Basically, the search server should probably always fallback to its default (en-US, here) if it does not find better language match. In addition pt should probably be mapped to pt-br provided we do not have better pt translation, or (again) to en-US it pt is not acceptable. Also, de-de should probably return de and not en-us.

Comment 1 Jan Pazdziora (Red Hat) 2009-08-21 14:59:49 UTC
The problem might be related to the mapping in initDocLocaleLookup in search-server/src/java/com/redhat/satellite/search/index/IndexManager.java.

Comment 2 Thomas Ellis 2009-10-27 17:07:30 UTC
I can confirm this, a customer of mine just hit it, will open an IT.

Comment 3 Partha Aji 2010-09-01 23:29:52 UTC
This should now be fixed as of http://git.fedorahosted.org/git/?p=spacewalk.git;a=commit;h=49d8f4ae4ab37d18b5cd275de4de7db3699af5ff

You need spacewalk-search-1.2.2-1 and spacewalk-java-1.2.23-1 or higher to test this

Comment 4 Tomas Lestach 2010-10-06 12:48:45 UTC
Locale Preferences set to "Use Browser Settings"
When running the reproducer script, getting expected results:

Accept-Language: []
en-US
Accept-Language: [de]
de-DE
Accept-Language: [en]
en-US
Accept-Language: [en-us]
en-US
Accept-Language: [en,en-us]
en-US
Accept-Language: [en-us,en]
en-US
Accept-Language: [it,en]
it-IT
Accept-Language: [it,en;q=2]
en-US
Accept-Language: [en-uk]
en-US
Accept-Language: [en-uk,en]
en-US
Accept-Language: [pt-br]
pt-BR
Accept-Language: [pt]
pt-BR
Accept-Language: [pt-br,pt]
pt-BR
Accept-Language: [pt,en-us]
pt-BR
Accept-Language: [cs]
en-US
Accept-Language: [cs,en]
en-US
Accept-Language: [ja]
ja-JP
Accept-Language: [ja-jp]
en-US
Accept-Language: [x-none]
en-US

The search server correctly fallbacks to en-US, if there's no better language match.
I identified a problem, what I've described in BZ#640598.

VERIFIED with spacewalk-java-1.2.39-26.el5sat
spacewalk-search-1.2.3-1.el5sat on Satellite-5.4.0-RHEL5-re20101001.1.

Comment 5 Michael Mráka 2010-10-21 09:55:21 UTC
Verified in stage.

Accept-Language: []
en-US
Accept-Language: [en]
en-US
Accept-Language: [en-us]
en-US
Accept-Language: [en,en-us]
en-US
Accept-Language: [en-us,en]
en-US
Accept-Language: [it,en] 
it-IT
Accept-Language: [it,en;q=2]
en-US
Accept-Language: [en-uk] 
en-US
Accept-Language: [en-uk,en]
en-US
Accept-Language: [pt-br] 
pt-BR
Accept-Language: [pt]
pt-BR
Accept-Language: [pt-br,pt]
pt-BR
Accept-Language: [pt,en-us]
pt-BR
Accept-Language: [cs]
en-US
Accept-Language: [cs,en] 
en-US
Accept-Language: [ja]
ja-JP
Accept-Language: [ja-jp] 
en-US
Accept-Language: [x-none]
en-US

Comment 6 Clifford Perry 2010-10-28 14:44:39 UTC
The 5.4.0 RHN Satellite and RHN Proxy release has occurred. This issue has been resolved with this release. 


RHEA-2010:0801 - RHN Satellite Server 5.4.0 Upgrade
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10332

RHEA-2010:0803 - RHN Tools enhancement update
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10333

RHEA-2010:0802 - RHN Proxy Server 5.4.0 bug fix update
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10334

RHEA-2010:0800 - RHN Satellite Server 5.4.0
https://rhn.redhat.com/rhn/errata/details/Details.do?eid=10335

Docs are available:

http://docs.redhat.com/docs/en-US/Red_Hat_Network_Satellite/index.html 

Regards,
Clifford


Note You need to log in before you can comment on or make changes to this bug.