1
votes

I am using Liferay-Portal-6.0.6 on which I have developed an Intranet platform for my organization.

User authentication and import is done using LDAP (AD Integration).

There is a case where one user, which is active and available in Users section in control panel, is not displayed in the search results of the search portlet. All the users can be search but this one.

Does anyone have any idea why this could be happening? If yes, then please provide help.

P.S.- The search portlet is not modified using Hooks or Exts. It is the default out of the box portlet that Liferay provides.

3
Have you tried to do a full reindex?Daniele Baggio
Will the full Reindex affect any data or the portlets throughout the platform?aayushdriger
Full reindex re-create lucene index for every portal/plugin assets. Also for User. It could help your issue.Daniele Baggio
Hi Daniele, I tried full reindexing but still no luck. Is there anything else I can do?aayushdriger

3 Answers

1
votes

You can use Luke browser https://code.google.com/p/luke/ to view the lucene index created by Liferay and discover how the particular user is stored. Maybe this strange user is indexed in a way you dont think and understand the context.

0
votes

After a long research and fine look I found a solution. My liferay instance is connected to a SOLR server which handles all the indices. I checked my SOLR server's memory and found that threshhold memory was full. I used the following command and got the following result -

[root@ze42-v-zlapp02 bin]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_root
                  227G   227G  0G  100% /
/dev/sda1              99M   18M   77M  19% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm

I found out that the logs that SOLR was generating flooded the server memory. So I implemented the following steps in order to mitigate the issue -

  1. Stop the liferay tomcat server
  2. Stop SOLR server
  3. Delete the log files in SOLR-tomcat/logs folder
  4. Clear the catalina.out using cat /dev/null > catalina.out. P.S.- do not delete catalina.out
  5. Start SOLR server
  6. Go to SOLR console http://yoursolrIP:port/solr/admin/logging and set all secondary log levels to INFO
  7. Start your liferay server

I also implemented a old log deletion script and added it to a cron job. Now only the last 10 days log is stored in my case and older is deleted automatically as per the cron job.

0
votes

Your own answer is only a temporary solution. Best practise would be to implement logrotate. This is done on the OS Level, so any of your Sysadmins should be able to do that for you. If you have to do it yourself, here is a link which describes how to enable logrotate on a RHEL5 System. http://www.sysarchitects.com/logrotate_for_solr

As the implementation of logrotate can vary on different OS'es, I can not provide any further information ;)