Вообщем переодически сервер дохнет по: The WebLogic Server encountered a critical failure java.lang.OutOfMemoryError: Metaspace Reason: There is a panic condition in the server. The server is configured to exit on panic И хотя это гавно пишет типа Reason: There is a panic condition in the server. The server is configured to exit on panic чёт ни хуя он ни куда не exit.... Вообщем т.к разбираться с тем чем он жрётся нет ни времени ни желания (оно обязательно появится)... как вариант можно приделать костыль... костыль будет заключаться в ребуте сервера при возникновении этой ошибки. Что значит для этого надо... Желания и понимание что так жить нельзя, и вообще... Делаем новый модуль называем скажем: Reboot-OOMMetaSpace Идём в в новый модуль делаем Policy: Называем его OOM-Metaspace и говорит что это Server log: Жмём next в Configuration Policy пишем: log.logMessage.contains('java.lang.OutOfMemoryError: Metaspace'...
Есть такая херня что AD по умолчанию возвращает максимум 1000 записей.
Что бы обойти это ограничение необходимо задать pagesize для запроса
Например мы хотим вытащить cn всех пользователей т.е (objectClass=user):
ldapsearch -E pr=1000/noprompt -H ldap://lalal:389 -x -D "CN=Hellouser,OU=System Accounts,DC=lalaa,DC=ru" -w Password -b "DC=users,DC=lalaa,DC=ru" -s sub -a always -z 10000 '(objectClass=user)' cn
...........................................
...........................................
...........................................
# numResponses: 105665
# numEntries: 105556
ну соответственно без этого получаем стандартную ошибку:
ldapsearch -H ldap://lalal:389 -x -D "CN=Hellouser,OU=System Accounts,DC=lalaa,DC=ru" -w Password -b "DC=users,DC=lalaa,DC=ru" -s sub -a always -z 10000 '(objectClass=user)' cn
...........................................
...........................................
...........................................
result: 4 Size limit exceeded
# numResponses: 1004
# numEntries: 1000
# numReferences: 3
P.S
http://jeftek.com/219/avoid-changing-the-maxpagesize-ldap-query-policy/
Что бы обойти это ограничение необходимо задать pagesize для запроса
Например мы хотим вытащить cn всех пользователей т.е (objectClass=user):
ldapsearch -E pr=1000/noprompt -H ldap://lalal:389 -x -D "CN=Hellouser,OU=System Accounts,DC=lalaa,DC=ru" -w Password -b "DC=users,DC=lalaa,DC=ru" -s sub -a always -z 10000 '(objectClass=user)' cn
...........................................
...........................................
...........................................
# numResponses: 105665
# numEntries: 105556
ну соответственно без этого получаем стандартную ошибку:
ldapsearch -H ldap://lalal:389 -x -D "CN=Hellouser,OU=System Accounts,DC=lalaa,DC=ru" -w Password -b "DC=users,DC=lalaa,DC=ru" -s sub -a always -z 10000 '(objectClass=user)' cn
...........................................
...........................................
...........................................
result: 4 Size limit exceeded
# numResponses: 1004
# numEntries: 1000
# numReferences: 3
P.S
http://jeftek.com/219/avoid-changing-the-maxpagesize-ldap-query-policy/
What is MaxPageSize, and how does it affect me?
The problem at hand is, that certain LDAP clients can only receive the first 1,000 results when they make an LDAP query to Active Directory, when more results exist that satisfy the query scope. If there are 1,200 results to be returned, the client will receive the "Size Limit Exceeded" error when the paging control is not used.
The default LDAP Policy settings for Active Directory limit the amount of results returned in a single page to 1,000 results. So clients that do not implement paging support, will only be able to retrieve the first page of 1,000 results.
Microsoft lists MaxPageSize as:
MaxPageSize – This value controls the maximum number of objects that are returned in a single search result, independent of how large each returned object is. To perform a search where the result might exceed this number of objects, the client must specify the paged search control. This is to group the returned results in groups that are no larger than the MaxPageSize value. To summarize, MaxPageSize controls the number of objects that are returned in a single search result.
Default value: 1,000
Default value: 1,000
Комментарии
Отправить комментарий