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.
The problem might be related to the mapping in initDocLocaleLookup in search-server/src/java/com/redhat/satellite/search/index/IndexManager.java.
I can confirm this, a customer of mine just hit it, will open an IT.
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
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.
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
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