This is my first post in this form, please guide me to right path.
We implemented custom functionality to search user records from AD and LDAP from IDM User console. After searching the records we provided a export functionality to export resultant user records to xls file.
The issue is the number of exported user records to xls file is not same as the number of user records while search.
This functionality is working good in our Development and VALenvironments but not with the Production environment.
I checked the custom jsp file and the calling Rule from all the three environments and they are same.
From VAL and PROD server.log I see the following.
PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response
But this error message didn't stop VAL to export same number of records to xls file.
# of records serached from PROD is 16809
# of records serached from VAL is 10312
They are constant all the time.
# of records exported to xls from PROD is 168 or 1274 (It is varying, each time I export it shows different number)
# of records exported to xls from VAL is 10312 (Always same as search)
We are on Glassfish V2.1.1P8.
I checked file sizes from VAL and PROD both are same.
It would be great if any one can point me to the right direction where else I have to check for possible cause.
The search is working as expected in all 3 environments DEV,VAL and PROD.
The search and alignment performed by the Rule where as DB connection and Saving to XLS performed by the custom JSP file.
Since search is working fine I don't think any permissions issue with AD or LDAP.
Couple of things I noticed from server.log from all environments
9d57;|StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this resp
3e-bd74-0bc9478ffdae;|org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
This is logging when the custom jsp is executing.
getOutputStream() has already been called for this response.
I am not sure if this is the root cause, since it is logging in DEV and VAL also.
Other things I noticed are.
Yester day I conducted 10 tests and all are taking 6 min 18 sec or 6 min 19 sec or 6 min 22 sec.
Also I noticed that the number of user records exported to xls depends on the transfer rate.
if the file download transfer rate is 1.50 KB then the user records are between 1200 to 1800 where as the search user records are 16590.
if the file download transfer rate is 800 B then the user records are between 200 to 600 where as the search user records are 16590.
Not sure where to check this time value(attribute) 6 min 18 sec..
Please provide me some info where else I need to check.
Also I checked the functionality by roletype name wise.
We have 12 roletypes and we can search by rolename and export it to xls file.
I noticed that all searches by roletype worked good except 2 roletypes.
The reason I noticed is the 2 roletypes returns more than 4000 records each.
Where as other role types return between 30 to 2900 records.
I suspect it is some timeout limit ?
what might be the reason if the number of records are more then 4000 it is not able to export all records?