| | |
| | | <genmsg sourceProps="${msg.prop.dir}/extension.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/ExtensionMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/jeb.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/JebMessages.java"> |
| | | </genmsg> |
| | | <genmsg sourceProps="${msg.prop.dir}/log.properties" |
| | | destJava="${msg.javagen.dir}/org/opends/messages/LoggerMessages.java"> |
| | | </genmsg> |
| | |
| | | <messageFile>org/opends/messages/core.properties</messageFile> |
| | | <messageFile>org/opends/messages/dsconfig.properties</messageFile> |
| | | <messageFile>org/opends/messages/extension.properties</messageFile> |
| | | <messageFile>org/opends/messages/jeb.properties</messageFile> |
| | | <messageFile>org/opends/messages/logger.properties</messageFile> |
| | | <messageFile>org/opends/messages/plugin.properties</messageFile> |
| | | <messageFile>org/opends/messages/protocol.properties</messageFile> |
| | |
| | | import org.forgerock.opendj.config.server.ConfigException; |
| | | import org.opends.guitools.controlpanel.util.Utilities; |
| | | import org.opends.messages.CoreMessages; |
| | | import org.opends.messages.JebMessages; |
| | | import org.opends.messages.BackendMessages; |
| | | import org.opends.messages.ReplicationMessages; |
| | | import org.opends.quicksetup.Application; |
| | | import org.opends.quicksetup.ApplicationException; |
| | |
| | | */ |
| | | public String getImportProgressMessage(String msg) |
| | | { |
| | | if (msg != null && (msg.contains("msgID=" + JebMessages.NOTE_JEB_IMPORT_FINAL_STATUS.ordinal()) |
| | | || msg.contains("msgID=" + JebMessages.NOTE_JEB_IMPORT_PROGRESS_REPORT.ordinal()))) |
| | | if (msg != null && (msg.contains("msgID=" + BackendMessages.NOTE_IMPORT_FINAL_STATUS.ordinal()) |
| | | || msg.contains("msgID=" + BackendMessages.NOTE_IMPORT_PROGRESS_REPORT.ordinal()))) |
| | | { |
| | | int index = msg.indexOf("msg="); |
| | | if (index != -1) |
| | |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | buildExtensibleIndexes(); |
| | | |
| | | final JEIndexConfig config = new JEIndexConfig(indexConfig.getSubstringLength()); |
| | | indexQueryFactory = new IndexQueryFactoryImpl(nameToIndexes, config); |
| | | indexQueryFactory = new IndexQueryFactoryImpl(nameToIndexes, config, indexConfig.getAttribute()); |
| | | extensibleIndexesMapping = computeExtensibleIndexesMapping(); |
| | | } |
| | | |
| | |
| | | if (index.setIndexEntryLimit(indexEntryLimit)) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | if (indexConfig.getSubstringLength() != cfg.getSubstringLength()) |
| | | { |
| | |
| | | if (index.setIndexEntryLimit(cfg.getIndexEntryLimit())) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (index.setIndexEntryLimit(cfg.getIndexEntryLimit())) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (!index.isTrusted()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (monitor.isFilterUseEnabled()) |
| | | { |
| | | monitor.updateStats(filter, INFO_JEB_INDEX_FILTER_MATCHING_RULE_NOT_INDEXED.get( |
| | | monitor.updateStats(filter, INFO_INDEX_FILTER_MATCHING_RULE_NOT_INDEXED.get( |
| | | matchRuleOID, indexConfig.getAttribute().getNameOrOID())); |
| | | } |
| | | return IndexQuery.createNullIndexQuery().evaluate(null); |
| | |
| | | |
| | | import static org.forgerock.util.Reject.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.UtilityMessages.*; |
| | | import static org.opends.server.backends.jeb.ConfigurableEnvironment.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | |
| | | try |
| | | { |
| | | // Log an informational message about the number of entries. |
| | | logger.info(NOTE_JEB_BACKEND_STARTED, cfg.getBackendId(), rootContainer.getEntryCount()); |
| | | logger.info(NOTE_BACKEND_STARTED, cfg.getBackendId(), rootContainer.getEntryCount()); |
| | | } |
| | | catch(DatabaseException databaseException) |
| | | { |
| | | logger.traceException(databaseException); |
| | | LocalizableMessage message = |
| | | WARN_JEB_GET_ENTRY_COUNT_FAILED.get(databaseException.getMessage()); |
| | | throw new InitializationException( |
| | | message, databaseException); |
| | | WARN_GET_ENTRY_COUNT_FAILED.get(databaseException.getMessage()), databaseException); |
| | | } |
| | | |
| | | for (DN dn : cfg.getBaseDN()) |
| | |
| | | catch (DatabaseException e) |
| | | { |
| | | logger.traceException(e); |
| | | logger.error(ERR_JEB_DATABASE_EXCEPTION, e.getMessage()); |
| | | logger.error(ERR_DATABASE_EXCEPTION, e.getMessage()); |
| | | } |
| | | |
| | | DirectoryServer.deregisterAlertGenerator(this); |
| | |
| | | EntryContainer ec = rootContainer.getEntryContainer(baseDN); |
| | | if (ec == null || !ec.getBaseDN().equals(baseDN)) |
| | | { |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, ERR_SEARCH_NO_SUCH_OBJECT.get(baseDN)); |
| | | } |
| | | return numSubordinates(baseDN, true); |
| | | } |
| | |
| | | { |
| | | // FIXME: No reason why we cannot implement a move between containers |
| | | // since the containers share the same database environment. |
| | | LocalizableMessage msg = WARN_JEB_FUNCTION_NOT_SUPPORTED.get(); |
| | | LocalizableMessage msg = WARN_FUNCTION_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, msg); |
| | | } |
| | | |
| | |
| | | catch (IOException ioe) |
| | | { |
| | | logger.traceException(ioe); |
| | | throw new DirectoryException(errorRC, ERR_JEB_EXPORT_IO_ERROR.get(ioe.getMessage()), ioe); |
| | | throw new DirectoryException(errorRC, ERR_EXPORT_IO_ERROR.get(ioe.getMessage()), ioe); |
| | | } |
| | | catch (DatabaseException de) |
| | | { |
| | |
| | | final ResultCode errorRC = DirectoryServer.getServerErrorResultCode(); |
| | | if(!openRootContainer) |
| | | { |
| | | throw new DirectoryException(errorRC, ERR_JEB_IMPORT_BACKEND_ONLINE.get()); |
| | | throw new DirectoryException(errorRC, ERR_IMPORT_BACKEND_ONLINE.get()); |
| | | } |
| | | |
| | | try |
| | |
| | | rootContainer.close(); |
| | | long finishTime = System.currentTimeMillis(); |
| | | long closeTime = (finishTime - startTime) / 1000; |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_ROOTCONTAINER_CLOSE, closeTime); |
| | | logger.info(NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE, closeTime); |
| | | rootContainer = null; |
| | | } |
| | | |
| | | // Sync the environment to disk. |
| | | logger.info(NOTE_JEB_IMPORT_CLOSING_DATABASE); |
| | | logger.info(NOTE_IMPORT_CLOSING_DATABASE); |
| | | } |
| | | catch (DatabaseException de) |
| | | { |
| | |
| | | final ResultCode errorRC = DirectoryServer.getServerErrorResultCode(); |
| | | if(!openRootContainer && rebuildConfig.includesSystemIndex()) |
| | | { |
| | | throw new DirectoryException(errorRC, ERR_JEB_REBUILD_BACKEND_ONLINE.get()); |
| | | throw new DirectoryException(errorRC, ERR_REBUILD_BACKEND_ONLINE.get()); |
| | | } |
| | | |
| | | try |
| | |
| | | if (jeMessage == null) { |
| | | jeMessage = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_DATABASE_EXCEPTION.get(jeMessage); |
| | | LocalizableMessage message = ERR_DATABASE_EXCEPTION.get(jeMessage); |
| | | return new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, e); |
| | | } |
| | |
| | | } |
| | | catch (DatabaseException e) { |
| | | logger.traceException(e); |
| | | LocalizableMessage message = ERR_JEB_OPEN_ENV_FAIL.get(e.getMessage()); |
| | | LocalizableMessage message = ERR_OPEN_ENV_FAIL.get(e.getMessage()); |
| | | throw new InitializationException(message, e); |
| | | } |
| | | } |
| | |
| | | Privilege.BYPASS_LOCKDOWN, operation))) |
| | | { |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | WARN_JEB_OUT_OF_DISK_SPACE.get()); |
| | | WARN_OUT_OF_DISK_SPACE.get()); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | import static com.sleepycat.je.EnvironmentConfig.*; |
| | | |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * This class maps JE properties to configuration attributes. |
| | |
| | | { |
| | | if (MemoryBudget.getRuntimeMaxMemory() < cfg.getDBCacheSize()) { |
| | | throw new ConfigException( |
| | | ERR_CONFIG_JEB_CACHE_SIZE_GREATER_THAN_JVM_HEAP.get( |
| | | ERR_BACKEND_CONFIG_CACHE_SIZE_GREATER_THAN_JVM_HEAP.get( |
| | | cfg.getDBCacheSize(), MemoryBudget.getRuntimeMaxMemory())); |
| | | } |
| | | if (cfg.getDBCacheSize() < MemoryBudget.MIN_MAX_MEMORY_SIZE) { |
| | |
| | | MemoryQuota memoryQuota = DirectoryServer.getInstance().getServerContext().getMemoryQuota(); |
| | | if (!memoryQuota.acquireMemory(cfg.getDBCacheSize())) |
| | | { |
| | | logger.warn(ERR_CONFIG_JEB_CACHE_SIZE_GREATER_THAN_JVM_HEAP.get( |
| | | logger.warn(ERR_BACKEND_CONFIG_CACHE_SIZE_GREATER_THAN_JVM_HEAP.get( |
| | | cfg.getDBCacheSize(), memoryQuota.getMaxMemory())); |
| | | } |
| | | } |
| | |
| | | import static com.sleepycat.je.LockMode.*; |
| | | import static com.sleepycat.je.OperationStatus.*; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.jeb.JebFormat.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | |
| | | return Pair.of(labeledURI, dn); |
| | | } |
| | | catch (Exception e) { |
| | | throw new DirectoryException(ResultCode.OPERATIONS_ERROR, ERR_JEB_DATABASE_EXCEPTION.get(e)); |
| | | throw new DirectoryException(ResultCode.OPERATIONS_ERROR, ERR_DATABASE_EXCEPTION.get(e)); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // Throw a directory referral exception containing the URIs. |
| | | LocalizableMessage msg = NOTE_JEB_REFERRAL_RESULT_MESSAGE.get(referralDN); |
| | | LocalizableMessage msg = NOTE_REFERRAL_RESULT_MESSAGE.get(referralDN); |
| | | throw new DirectoryException( |
| | | ResultCode.REFERRAL, msg, referralDN, URIList, null); |
| | | } |
| | |
| | | import com.sleepycat.je.*; |
| | | |
| | | import static com.sleepycat.je.LockMode.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.jeb.JebFormat.*; |
| | | import static org.opends.server.core.DirectoryServer.*; |
| | | import static org.opends.server.protocols.ldap.LDAPResultCode.*; |
| | |
| | | if(!index.isTrusted()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getAttribute().getNameOrOID())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getAttribute().getNameOrOID())); |
| | | } |
| | | attrIndexMap.put(cfg.getAttribute(), index); |
| | | } |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | cfg.getFilter(), cfg.getName(), |
| | | e.getLocalizedMessage()); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add( |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER.get(cfg.getFilter(), cfg.getName(), e.getLocalizedMessage())); |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | LocalizableMessage msg = |
| | | ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], cfg.getName()); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], cfg.getName())); |
| | | return false; |
| | | } |
| | | |
| | |
| | | DirectoryServer.getAttributeType(sortAttrs[i].toLowerCase()); |
| | | if(attrType == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get( |
| | | sortAttrs[i], cfg.getName()); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], cfg.getName())); |
| | | return false; |
| | | } |
| | | sortKeys[i] = new SortKey(attrType, ascending[i]); |
| | |
| | | if(!vlvIndex.isTrusted()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get( |
| | | cfg.getName())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getName())); |
| | | } |
| | | vlvIndexMap.put(cfg.getName().toLowerCase(), vlvIndex); |
| | | } |
| | |
| | | index.open(); |
| | | if(!index.isTrusted()) |
| | | { |
| | | logger.info(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD, index.getName()); |
| | | logger.info(NOTE_INDEX_ADD_REQUIRES_REBUILD, index.getName()); |
| | | } |
| | | attrIndexMap.put(indexCfg.getAttribute(), index); |
| | | } |
| | |
| | | |
| | | if(!vlvIndex.isTrusted()) |
| | | { |
| | | logger.info(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD, vlvIndex.getName()); |
| | | logger.info(NOTE_INDEX_ADD_REQUIRES_REBUILD, vlvIndex.getName()); |
| | | } |
| | | |
| | | vlvIndexMap.put(vlvIndexCfg.getName().toLowerCase(), vlvIndex); |
| | |
| | | |
| | | if (vlvRequest != null && pageRequest != null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV.get(); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV.get()); |
| | | } |
| | | |
| | | // Handle client abandon of paged results. |
| | |
| | | EntryID baseID = dn2id.get(null, aBaseDN, LockMode.DEFAULT); |
| | | if (baseID == null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(aBaseDN); |
| | | DN matchedDN = getMatchedDN(aBaseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | throw new DirectoryException( |
| | | ResultCode.NO_SUCH_OBJECT, ERR_SEARCH_NO_SUCH_OBJECT.get(aBaseDN), getMatchedDN(aBaseDN), null); |
| | | } |
| | | DatabaseEntry baseIDData = baseID.getDatabaseEntry(); |
| | | |
| | |
| | | ClientConnection clientConnection = searchOperation.getClientConnection(); |
| | | if (!clientConnection.hasPrivilege(Privilege.UNINDEXED_SEARCH, searchOperation)) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES.get(); |
| | | throw new DirectoryException(ResultCode.INSUFFICIENT_ACCESS_RIGHTS, message); |
| | | throw new DirectoryException( |
| | | ResultCode.INSUFFICIENT_ACCESS_RIGHTS, ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES.get()); |
| | | } |
| | | |
| | | if (sortRequest != null) |
| | |
| | | |
| | | if (sortRequest.isCritical()) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_CANNOT_SORT_UNINDEXED.get(); |
| | | throw new DirectoryException(ResultCode.UNAVAILABLE_CRITICAL_EXTENSION, message); |
| | | throw new DirectoryException( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION, ERR_SEARCH_CANNOT_SORT_UNINDEXED.get()); |
| | | } |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | String str = pageRequest.getCookie().toHexString(); |
| | | LocalizableMessage msg = ERR_JEB_INVALID_PAGED_RESULTS_COOKIE.get(str); |
| | | LocalizableMessage msg = ERR_INVALID_PAGED_RESULTS_COOKIE.get(pageRequest.getCookie().toHexString()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, msg, e); |
| | | } |
| | | } |
| | |
| | | { |
| | | //Lookthrough limit exceeded |
| | | searchOperation.setResultCode(ResultCode.ADMIN_LIMIT_EXCEEDED); |
| | | searchOperation.appendErrorMessage( |
| | | NOTE_JEB_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | searchOperation.appendErrorMessage(NOTE_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | return; |
| | | } |
| | | int cmp = dn2id.getComparator().compare(key.getData(), end); |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | String str = pageRequest.getCookie().toHexString(); |
| | | LocalizableMessage msg = ERR_JEB_INVALID_PAGED_RESULTS_COOKIE.get(str); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | msg, e); |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE.get(pageRequest.getCookie().toHexString()), e); |
| | | } |
| | | } |
| | | else if (!manageDsaIT) |
| | |
| | | { |
| | | //Lookthrough limit exceeded |
| | | searchOperation.setResultCode(ResultCode.ADMIN_LIMIT_EXCEEDED); |
| | | searchOperation.appendErrorMessage( |
| | | NOTE_JEB_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | searchOperation.appendErrorMessage(NOTE_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | continueSearch = false; |
| | | } |
| | | |
| | |
| | | if (dn2id.get(txn, entry.getName(), LockMode.DEFAULT) != null) |
| | | { |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, |
| | | ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | } |
| | | |
| | | // Check that the parent entry exists. |
| | |
| | | parentID = dn2id.get(txn, parentDN, LockMode.DEFAULT); |
| | | if (parentID == null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_ADD_NO_SUCH_OBJECT.get(entry.getName()); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message, matchedDN, null); |
| | | ERR_ADD_NO_SUCH_OBJECT.get(entry.getName()), getMatchedDN(baseDN), null); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | // Do not ever expect to come through here. |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, |
| | | ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | } |
| | | |
| | | // Update the referral database for referral entries. |
| | |
| | | { |
| | | // Do not ever expect to come through here. |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, |
| | | ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | } |
| | | |
| | | // Insert into id2entry. |
| | |
| | | { |
| | | // Do not ever expect to come through here. |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, |
| | | ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS.get(entry.getName())); |
| | | } |
| | | |
| | | // Insert into the indexes, in index configuration order. |
| | |
| | | EntryID nodeID = dn2id.get(txn, dn, LockMode.DEFAULT); |
| | | if (nodeID == null) |
| | | { |
| | | throw new JebException(ERR_JEB_MISSING_DN2ID_RECORD.get(dn)); |
| | | throw new JebException(ERR_MISSING_DN2ID_RECORD.get(dn)); |
| | | } |
| | | |
| | | // Insert into id2subtree for this node. |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | | ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | |
| | |
| | | // The subtree delete control was not specified and |
| | | // the target entry is not a leaf. |
| | | throw new DirectoryException(ResultCode.NOT_ALLOWED_ON_NONLEAF, |
| | | ERR_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF.get(entryDN)); |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF.get(entryDN)); |
| | | } |
| | | |
| | | /* |
| | |
| | | |
| | | if (!pluginResult.continueProcessing()) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_JEB_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN.get(subordinateEntry.getName()); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | DirectoryServer.getServerErrorResultCode(), |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN.get(subordinateEntry.getName())); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | LocalizableMessage message = ERR_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | | } |
| | |
| | | OperationStatus status = dn2id.read(txn, leafDNKey, value, LockMode.RMW); |
| | | if (status != OperationStatus.SUCCESS) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(leafDNKey); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | throw new DirectoryException( |
| | | ResultCode.NO_SUCH_OBJECT, ERR_DELETE_NO_SUCH_OBJECT.get(leafDNKey), getMatchedDN(baseDN), null); |
| | | } |
| | | leafID = new EntryID(value); |
| | | } |
| | |
| | | if (dn2id.delete(txn, leafDNKey) != OperationStatus.SUCCESS) |
| | | { |
| | | // Do not expect to ever come through here. |
| | | LocalizableMessage message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(leafDNKey); |
| | | LocalizableMessage message = ERR_DELETE_NO_SUCH_OBJECT.get(leafDNKey); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | } |
| | |
| | | if (entry == null) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | ERR_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | } |
| | | |
| | | if (!manageDsaIT) |
| | |
| | | if (!id2entry.remove(txn, leafID)) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | ERR_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | } |
| | | |
| | | // Remove from the indexes, in index config order. |
| | |
| | | EntryID parentID = dn2id.get(txn, parentDN, LockMode.DEFAULT); |
| | | if (parentID == null) |
| | | { |
| | | throw new JebException(ERR_JEB_MISSING_DN2ID_RECORD.get(parentDN)); |
| | | throw new JebException(ERR_MISSING_DN2ID_RECORD.get(parentDN)); |
| | | } |
| | | |
| | | ByteString parentIDBytes = ByteString.valueOf(parentID.longValue()); |
| | |
| | | if (entryID == null) |
| | | { |
| | | // The entry does not exist. |
| | | LocalizableMessage message = |
| | | ERR_JEB_MODIFY_NO_SUCH_OBJECT.get(newEntry.getName()); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message, matchedDN, null); |
| | | ERR_MODIFY_NO_SUCH_OBJECT.get(newEntry.getName()), getMatchedDN(baseDN), null); |
| | | } |
| | | |
| | | if (!isManageDsaITOperation(modifyOperation)) |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | | ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | |
| | |
| | | if (!currentDN.equals(entry.getName()) && |
| | | dn2id.get(txn, entry.getName(), LockMode.DEFAULT) != null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(entry.getName()); |
| | | LocalizableMessage message = ERR_MODIFYDN_ALREADY_EXISTS.get(entry.getName()); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | | |
| | |
| | | // Check for referral entries above the target entry. |
| | | dn2uri.targetEntryReferrals(currentDN, null); |
| | | |
| | | LocalizableMessage message = |
| | | ERR_JEB_MODIFYDN_NO_SUCH_OBJECT.get(currentDN); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message, matchedDN, null); |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT.get(currentDN), getMatchedDN(baseDN), null); |
| | | } |
| | | |
| | | Entry oldApexEntry = id2entry.get(txn, oldApexID, LockMode.DEFAULT); |
| | | if (oldApexEntry == null) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MISSING_ID2ENTRY_RECORD.get(oldApexID)); |
| | | ERR_MISSING_ID2ENTRY_RECORD.get(oldApexID)); |
| | | } |
| | | |
| | | if (!isManageDsaITOperation(modifyDNOperation)) |
| | |
| | | EntryID newSuperiorID = dn2id.get(txn, newSuperiorDN, LockMode.DEFAULT); |
| | | if (newSuperiorID == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_NEW_SUPERIOR_NO_SUCH_OBJECT.get(newSuperiorDN); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | msg, matchedDN, null); |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT.get(newSuperiorDN), getMatchedDN(baseDN), null); |
| | | } |
| | | |
| | | if (newSuperiorID.compareTo(oldApexID) > 0) |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | LocalizableMessage message = ERR_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | | } |
| | |
| | | { |
| | | if (!dn2id.insert(txn, newEntry.getName(), newID)) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(newEntry.getName()); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | throw new DirectoryException( |
| | | ResultCode.ENTRY_ALREADY_EXISTS, ERR_MODIFYDN_ALREADY_EXISTS.get(newEntry.getName())); |
| | | } |
| | | id2entry.put(txn, newID, newEntry); |
| | | dn2uri.addEntry(txn, newEntry); |
| | |
| | | if (!pluginResult.continueProcessing()) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN.get(oldDN, newDN)); |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN.get(oldDN, newDN)); |
| | | } |
| | | |
| | | if (! modifications.isEmpty()) |
| | |
| | | if (! newEntry.conformsToSchema(null, false, false, false, |
| | | invalidReason)) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR.get(oldDN, newDN, invalidReason); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | DirectoryServer.getServerErrorResultCode(), |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR.get(oldDN, newDN, invalidReason)); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new JebException(message, e); |
| | | throw new JebException(ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | else |
| | |
| | | if (id2children.setIndexEntryLimit(cfg.getIndexEntryLimit())) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(id2children.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(id2children.getName())); |
| | | } |
| | | |
| | | if (id2subtree.setIndexEntryLimit(cfg.getIndexEntryLimit())) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(id2subtree.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(id2subtree.getName())); |
| | | } |
| | | } |
| | | |
| | |
| | | index.open(); |
| | | if (!index.isTrusted()) |
| | | { |
| | | logger.info(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD, index.getName()); |
| | | logger.info(NOTE_INDEX_ADD_REQUIRES_REBUILD, index.getName()); |
| | | } |
| | | return index; |
| | | } |
| | |
| | | // Check for referral entries above the base entry. |
| | | dn2uri.targetEntryReferrals(baseDN, searchScope); |
| | | |
| | | LocalizableMessage message = ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN); |
| | | DN matchedDN = getMatchedDN(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message, matchedDN, null); |
| | | ERR_SEARCH_NO_SUCH_OBJECT.get(baseDN), getMatchedDN(baseDN), null); |
| | | } |
| | | |
| | | return baseEntry; |
| | |
| | | * |
| | | * |
| | | * Copyright 2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2014 ForgeRock AS |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import org.opends.server.protocols.ldap.LDAPResultCode; |
| | | import org.opends.server.types.*; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | | /** |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | import java.io.File; |
| | | import java.io.FilenameFilter; |
| | |
| | | { |
| | | if (!dir.isDirectory()) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_DIRECTORY_INVALID.get(homeDir); |
| | | throw new JebException(message); |
| | | throw new JebException(ERR_DIRECTORY_INVALID.get(homeDir)); |
| | | } |
| | | removeFiles(homeDir); |
| | | } |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | LocalizableMessage message = ERR_JEB_CREATE_FAIL.get(e.getMessage()); |
| | | throw new JebException(message, e); |
| | | throw new JebException(ERR_CREATE_FAIL.get(e.getMessage()), e); |
| | | } |
| | | } |
| | | } |
| | |
| | | File dir = new File(homeDir); |
| | | if (!dir.exists()) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_DIRECTORY_DOES_NOT_EXIST.get(homeDir); |
| | | LocalizableMessage message = ERR_DIRECTORY_DOES_NOT_EXIST.get(homeDir); |
| | | throw new JebException(message); |
| | | } |
| | | if (!dir.isDirectory()) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_DIRECTORY_INVALID.get(homeDir); |
| | | throw new JebException(message); |
| | | throw new JebException(ERR_DIRECTORY_INVALID.get(homeDir)); |
| | | } |
| | | |
| | | try |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | LocalizableMessage message = ERR_JEB_REMOVE_FAIL.get(e.getMessage()); |
| | | throw new JebException(message, e); |
| | | throw new JebException(ERR_REMOVE_FAIL.get(e.getMessage()), e); |
| | | } |
| | | } |
| | | |
| | |
| | | import org.opends.server.types.*; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * Export a JE backend to LDIF. |
| | |
| | | rate = 1000f*exportedCount / totalTime; |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_EXPORT_FINAL_STATUS, exportedCount, skippedCount, totalTime/1000, rate); |
| | | logger.info(NOTE_EXPORT_FINAL_STATUS, exportedCount, skippedCount, totalTime/1000, rate); |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | float rate = 1000f*deltaCount / deltaTime; |
| | | |
| | | logger.info(NOTE_JEB_EXPORT_PROGRESS_REPORT, latestCount, skippedCount, rate); |
| | | logger.info(NOTE_EXPORT_PROGRESS_REPORT, latestCount, skippedCount, rate); |
| | | |
| | | previousCount = latestCount; |
| | | previousTime = latestTime; |
| | |
| | | import static com.sleepycat.je.OperationStatus.*; |
| | | |
| | | import static org.forgerock.util.Utils.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.core.DirectoryServer.*; |
| | | |
| | | import java.io.IOException; |
| | |
| | | byte formatVersion = bytes.byteAt(0); |
| | | if(formatVersion != JebFormat.FORMAT_VERSION) |
| | | { |
| | | throw DecodeException.error(ERR_JEB_INCOMPATIBLE_ENTRY_VERSION.get(formatVersion)); |
| | | throw DecodeException.error(ERR_INCOMPATIBLE_ENTRY_VERSION.get(formatVersion)); |
| | | } |
| | | |
| | | // Read the ASN1 sequence. |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_ENTRY_DATABASE_CORRUPT.get(id)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), ERR_ENTRY_DATABASE_CORRUPT.get(id)); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | import static com.sleepycat.je.EnvironmentConfig.*; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.admin.std.meta.LocalDBIndexCfgDefn.IndexType.*; |
| | | import static org.opends.server.backends.pluggable.SuffixContainer.*; |
| | | import static org.opends.server.util.DynamicConstants.*; |
| | |
| | | recursiveDelete(tempDir); |
| | | if (!tempDir.exists() && !tempDir.mkdirs()) |
| | | { |
| | | throw new InitializationException(ERR_JEB_IMPORT_CREATE_TMPDIR_ERROR.get(tempDir)); |
| | | throw new InitializationException(ERR_IMPORT_CREATE_TMPDIR_ERROR.get(tempDir)); |
| | | } |
| | | this.skipDNValidation = true; |
| | | initializeDBEnv(envConfig); |
| | |
| | | recursiveDelete(tempDir); |
| | | if (!tempDir.exists() && !tempDir.mkdirs()) |
| | | { |
| | | throw new InitializationException(ERR_JEB_IMPORT_CREATE_TMPDIR_ERROR.get(tempDir)); |
| | | throw new InitializationException(ERR_IMPORT_CREATE_TMPDIR_ERROR.get(tempDir)); |
| | | } |
| | | skipDNValidation = importConfiguration.getSkipDNValidation(); |
| | | initializeDBEnv(envConfig); |
| | |
| | | |
| | | if (oldThreadCount != threadCount) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_ADJUST_THREAD_COUNT, oldThreadCount, threadCount); |
| | | logger.info(NOTE_IMPORT_ADJUST_THREAD_COUNT, oldThreadCount, threadCount); |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_TOT_MEM_BUF, availableMemory, phaseOneBufferCount); |
| | | logger.info(NOTE_IMPORT_LDIF_TOT_MEM_BUF, availableMemory, phaseOneBufferCount); |
| | | if (tmpEnvCacheSize > 0) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_TMP_ENV_MEM, tmpEnvCacheSize); |
| | | logger.info(NOTE_IMPORT_LDIF_TMP_ENV_MEM, tmpEnvCacheSize); |
| | | } |
| | | envConfig.setConfigParam(MAX_MEMORY, Long.toString(dbCacheSize)); |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_DB_MEM_BUF_INFO, dbCacheSize, bufferSize); |
| | | logger.info(NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO, dbCacheSize, bufferSize); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_IMPORT_LDIF_READER_IO_ERROR.get(); |
| | | throw new InitializationException(message, ioe); |
| | | throw new InitializationException(ERR_IMPORT_LDIF_READER_IO_ERROR.get(), ioe); |
| | | } |
| | | |
| | | updateDiskMonitor(tempDir, "backend import tmp directory"); |
| | | updateDiskMonitor(backendDirectory, "backend import DB directory"); |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_STARTING, DirectoryServer.getVersionString(), |
| | | BUILD_ID, REVISION_NUMBER); |
| | | logger.info(NOTE_JEB_IMPORT_THREAD_COUNT, threadCount); |
| | | logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION_NUMBER); |
| | | logger.info(NOTE_IMPORT_THREAD_COUNT, threadCount); |
| | | initializeSuffixes(); |
| | | setIndexesTrusted(false); |
| | | |
| | |
| | | recursiveDelete(tempDir); |
| | | final long finishTime = System.currentTimeMillis(); |
| | | final long importTime = finishTime - startTime; |
| | | logger.info(NOTE_JEB_IMPORT_PHASE_STATS, importTime / 1000, |
| | | logger.info(NOTE_IMPORT_PHASE_STATS, importTime / 1000, |
| | | (phaseOneFinishTime - startTime) / 1000, |
| | | (phaseTwoFinishTime - phaseTwoTime) / 1000); |
| | | float rate = 0; |
| | |
| | | { |
| | | rate = 1000f * reader.getEntriesRead() / importTime; |
| | | } |
| | | logger.info(NOTE_JEB_IMPORT_FINAL_STATUS, reader.getEntriesRead(), importCount.get(), |
| | | logger.info(NOTE_IMPORT_FINAL_STATUS, reader.getEntriesRead(), importCount.get(), |
| | | reader.getEntriesIgnored(), reader.getEntriesRejected(), |
| | | migratedCount, importTime / 1000, rate); |
| | | return new LDIFImportResult(reader.getEntriesRead(), |
| | |
| | | } |
| | | catch (DatabaseException ex) |
| | | { |
| | | throw new JebException(NOTE_JEB_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage())); |
| | | throw new JebException(NOTE_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage())); |
| | | } |
| | | } |
| | | |
| | |
| | | // processing of smaller indexes. |
| | | dbThreads = Math.max(2, dbThreads); |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_PHASE_TWO_MEM_REPORT, availableMemory, readAheadSize, buffers); |
| | | logger.info(NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT, availableMemory, readAheadSize, buffers); |
| | | |
| | | // Start indexing tasks. |
| | | List<Future<Void>> futures = new LinkedList<Future<Void>>(); |
| | |
| | | DatabaseEntry key = new DatabaseEntry(); |
| | | DatabaseEntry data = new DatabaseEntry(); |
| | | LockMode lockMode = LockMode.DEFAULT; |
| | | logger.info(NOTE_JEB_IMPORT_MIGRATION_START, "excluded", suffix.getBaseDN()); |
| | | logger.info(NOTE_IMPORT_MIGRATION_START, "excluded", suffix.getBaseDN()); |
| | | Cursor cursor = entryContainer.getDN2ID().openCursor(null, CursorConfig.READ_COMMITTED); |
| | | Comparator<byte[]> comparator = entryContainer.getDN2ID().getComparator(); |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | DatabaseEntry key = new DatabaseEntry(); |
| | | DatabaseEntry data = new DatabaseEntry(); |
| | | LockMode lockMode = LockMode.DEFAULT; |
| | | logger.info(NOTE_JEB_IMPORT_MIGRATION_START, "existing", suffix.getBaseDN()); |
| | | logger.info(NOTE_IMPORT_MIGRATION_START, "existing", suffix.getBaseDN()); |
| | | Cursor cursor = entryContainer.getDN2ID().openCursor(null, null); |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_IMPORT_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_IMPORT_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | DN parentDN = suffix.getEntryContainer().getParentWithinBase(entryDN); |
| | | if (parentDN != null && !suffix.isParentProcessed(parentDN, tmpEnv, clearedBackend)) |
| | | { |
| | | reader.rejectEntry(entry, ERR_JEB_IMPORT_PARENT_NOT_FOUND.get(parentDN)); |
| | | reader.rejectEntry(entry, ERR_IMPORT_PARENT_NOT_FOUND.get(parentDN)); |
| | | return false; |
| | | } |
| | | //If the backend was not cleared, then the dn2id needs to checked first |
| | |
| | | EntryID id = suffix.getDN2ID().get(null, entryDN, LockMode.DEFAULT); |
| | | if (id != null || !tmpEnv.insert(entryDN, keyEntry, valEntry)) |
| | | { |
| | | reader.rejectEntry(entry, WARN_JEB_IMPORT_ENTRY_EXISTS.get()); |
| | | reader.rejectEntry(entry, WARN_IMPORT_ENTRY_EXISTS.get()); |
| | | return false; |
| | | } |
| | | } |
| | | else if (!tmpEnv.insert(entryDN, keyEntry, valEntry)) |
| | | { |
| | | reader.rejectEntry(entry, WARN_JEB_IMPORT_ENTRY_EXISTS.get()); |
| | | reader.rejectEntry(entry, WARN_IMPORT_ENTRY_EXISTS.get()); |
| | | return false; |
| | | } |
| | | return true; |
| | |
| | | nextBufferID = 0; |
| | | ownedPermits = 0; |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_INDEX_STARTED, indexMgr.getBufferFileName(), |
| | | remainingBuffers, totalBatches); |
| | | logger.info(NOTE_IMPORT_LDIF_INDEX_STARTED, indexMgr.getBufferFileName(), remainingBuffers, totalBatches); |
| | | |
| | | indexMgr.setIndexDBWriteTask(this); |
| | | isRunning = true; |
| | |
| | | } |
| | | if (!isCanceled) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_DN_CLOSE, indexMgr.getDNCount()); |
| | | logger.info(NOTE_IMPORT_LDIF_DN_CLOSE, indexMgr.getDNCount()); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (!isCanceled) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_INDEX_CLOSE, indexMgr.getBufferFileName()); |
| | | logger.info(NOTE_IMPORT_LDIF_INDEX_CLOSE, indexMgr.getBufferFileName()); |
| | | } |
| | | } |
| | | } |
| | |
| | | final long kiloBytesRate = bytesReadInterval / deltaTime; |
| | | final long kiloBytesRemaining = (bufferFileSize - tmpBytesRead) / 1024; |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_PHASE_TWO_REPORT, indexMgr.getBufferFileName(), |
| | | logger.info(NOTE_IMPORT_LDIF_PHASE_TWO_REPORT, indexMgr.getBufferFileName(), |
| | | bytesReadPercent, kiloBytesRemaining, kiloBytesRate, currentBatch, totalBatches); |
| | | |
| | | lastBytesRead = tmpBytesRead; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_INDEX_WRITE_DB_ERR, indexMgr.getBufferFileName(), e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR, indexMgr.getBufferFileName(), e.getMessage()); |
| | | throw e; |
| | | } |
| | | finally |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_INDEX_FILEWRITER_ERR, |
| | | indexMgr.getBufferFile().getAbsolutePath(), e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR, indexMgr.getBufferFile().getAbsolutePath(), e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | switch (rebuildConfig.getRebuildMode()) |
| | | { |
| | | case ALL: |
| | | logger.info(NOTE_JEB_REBUILD_ALL_START, totalEntries); |
| | | logger.info(NOTE_REBUILD_ALL_START, totalEntries); |
| | | break; |
| | | case DEGRADED: |
| | | logger.info(NOTE_JEB_REBUILD_DEGRADED_START, totalEntries); |
| | | logger.info(NOTE_REBUILD_DEGRADED_START, totalEntries); |
| | | break; |
| | | default: |
| | | if (!rebuildConfig.isClearDegradedState() |
| | | && logger.isInfoEnabled()) |
| | | { |
| | | String indexes = Utils.joinAsString(", ", rebuildConfig.getRebuildList()); |
| | | logger.info(NOTE_JEB_REBUILD_START, indexes, totalEntries); |
| | | logger.info(NOTE_REBUILD_START, indexes, totalEntries); |
| | | } |
| | | break; |
| | | } |
| | |
| | | |
| | | if (!rebuildConfig.isClearDegradedState()) |
| | | { |
| | | logger.info(NOTE_JEB_REBUILD_FINAL_STATUS, entriesProcessed.get(), totalTime / 1000, rate); |
| | | logger.info(NOTE_REBUILD_FINAL_STATUS, entriesProcessed.get(), totalTime / 1000, rate); |
| | | } |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | logger.error(ERR_JEB_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR, stackTraceToSingleLineString(e)); |
| | | logger.error(ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR, stackTraceToSingleLineString(e)); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | logger.info(NOTE_JEB_REBUILD_CLEARDEGRADEDSTATE_FINAL_STATUS, rebuildConfig.getRebuildList()); |
| | | logger.info(NOTE_REBUILD_CLEARDEGRADEDSTATE_FINAL_STATUS, rebuildConfig.getRebuildList()); |
| | | } |
| | | |
| | | setRebuildListIndexesTrusted(true); |
| | |
| | | } |
| | | catch (DatabaseException ex) |
| | | { |
| | | throw new JebException(NOTE_JEB_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage())); |
| | | throw new JebException(NOTE_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage())); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (lowerName.length() < 5) |
| | | { |
| | | throw new JebException(ERR_JEB_VLV_INDEX_NOT_CONFIGURED.get(lowerName)); |
| | | throw new JebException(ERR_VLV_INDEX_NOT_CONFIGURED.get(lowerName)); |
| | | } |
| | | indexCount++; |
| | | } |
| | |
| | | |
| | | private InitializationException attributeIndexNotConfigured(String index) |
| | | { |
| | | return new InitializationException(ERR_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index)); |
| | | return new InitializationException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index)); |
| | | } |
| | | |
| | | private boolean findExtensibleMatchingRule(LocalDBBackendCfg cfg, String indexExRuleName) throws ConfigException |
| | |
| | | { |
| | | completed = 100f * entriesProcessed / rebuildManager.getTotalEntries(); |
| | | } |
| | | logger.info(NOTE_JEB_REBUILD_PROGRESS_REPORT, completed, entriesProcessed, |
| | | rebuildManager.getTotalEntries(), rate); |
| | | logger.info(NOTE_REBUILD_PROGRESS_REPORT, completed, entriesProcessed, rebuildManager.getTotalEntries(), rate); |
| | | try |
| | | { |
| | | Runtime runtime = Runtime.getRuntime(); |
| | |
| | | { |
| | | cacheMissRate = nCacheMiss / (float) deltaCount; |
| | | } |
| | | logger.info(NOTE_JEB_REBUILD_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | logger.info(INFO_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | prevEnvStats = envStats; |
| | | } |
| | | catch (DatabaseException e) |
| | |
| | | return; |
| | | } |
| | | float rate = 1000f * deltaCount / deltaTime; |
| | | logger.info(NOTE_JEB_IMPORT_PROGRESS_REPORT, entriesRead, entriesIgnored, entriesRejected, rate); |
| | | logger.info(NOTE_IMPORT_PROGRESS_REPORT, entriesRead, entriesIgnored, entriesRejected, rate); |
| | | try |
| | | { |
| | | Runtime runTime = Runtime.getRuntime(); |
| | |
| | | { |
| | | cacheMissRate = nCacheMiss / (float) deltaCount; |
| | | } |
| | | logger.info(NOTE_JEB_IMPORT_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | logger.info(INFO_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | long evictPasses = environmentStats.getNEvictPasses(); |
| | | long evictNodes = environmentStats.getNNodesExplicitlyEvicted(); |
| | | long evictBinsStrip = environmentStats.getNBINsStripped(); |
| | |
| | | { |
| | | cacheMissRate = nCacheMiss / (float) deltaCount; |
| | | } |
| | | logger.info(NOTE_JEB_IMPORT_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | logger.info(INFO_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | long evictPasses = environmentStats.getNEvictPasses(); |
| | | long evictNodes = environmentStats.getNNodesExplicitlyEvicted(); |
| | | long evictBinsStrip = environmentStats.getNBINsStripped(); |
| | |
| | | |
| | | import static com.sleepycat.je.OperationStatus.*; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | import java.util.*; |
| | | |
| | |
| | | } |
| | | |
| | | setTrusted(txn, false); |
| | | logger.error(ERR_JEB_INDEX_CORRUPT_REQUIRES_REBUILD, name); |
| | | logger.error(ERR_INDEX_CORRUPT_REQUIRES_REBUILD, name); |
| | | } |
| | | |
| | | /** |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions copyright 2011-2014 ForgeRock AS |
| | | * Portions copyright 2011-2015 ForgeRock AS |
| | | * |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | |
| | | import org.opends.server.types.FilterType; |
| | | import org.opends.server.types.SearchFilter; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * An index filter is used to apply a search operation to a set of indexes |
| | |
| | | if(monitor.isFilterUseEnabled()) |
| | | { |
| | | monitor.updateStats(SearchFilter.createANDFilter(rangeList), |
| | | INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get("ordering", |
| | | rangeEntry.getKey().getNameOrOID())); |
| | | INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get("ordering", rangeEntry.getKey().getNameOrOID())); |
| | | } |
| | | continue; |
| | | } |
| | |
| | | |
| | | if (monitor.isFilterUseEnabled()) |
| | | { |
| | | monitor.updateStats(filter, INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get( |
| | | monitor.updateStats(filter, INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get( |
| | | indexFilterType.toString(), filter.getAttributeType().getNameOrOID())); |
| | | } |
| | | return new EntryIDSet(); |
| | |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.nio.ByteBuffer; |
| | |
| | | } |
| | | catch (IOException ex) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_BUFFER_IO_ERROR, indexMgr.getBufferFileName()); |
| | | logger.error(ERR_IMPORT_BUFFER_IO_ERROR, indexMgr.getBufferFileName()); |
| | | throw new RuntimeException(ex); |
| | | } |
| | | } |
| | |
| | | * |
| | | * |
| | | * Copyright 2009-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import org.forgerock.opendj.ldap.ByteSequence; |
| | | import org.forgerock.opendj.ldap.spi.IndexQueryFactory; |
| | | import org.forgerock.opendj.ldap.spi.IndexingOptions; |
| | | import org.opends.server.types.AttributeType; |
| | | |
| | | import com.sleepycat.je.DatabaseEntry; |
| | | import com.sleepycat.je.LockMode; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * This class is an implementation of IndexQueryFactory which creates |
| | |
| | | */ |
| | | private final Map<String, Index> indexMap; |
| | | private final IndexingOptions indexingOptions; |
| | | private final AttributeType attribute; |
| | | |
| | | /** |
| | | * Creates a new IndexQueryFactoryImpl object. |
| | |
| | | * A map containing the index id and the corresponding index. |
| | | * @param indexingOptions |
| | | * The options to use for indexing |
| | | * @param attribute |
| | | * The Attribute type of this index, for error messages |
| | | */ |
| | | public IndexQueryFactoryImpl(Map<String, Index> indexMap, IndexingOptions indexingOptions) |
| | | public IndexQueryFactoryImpl(Map<String, Index> indexMap, IndexingOptions indexingOptions, AttributeType attribute) |
| | | { |
| | | this.indexMap = indexMap; |
| | | this.indexingOptions = indexingOptions; |
| | | this.attribute = attribute; |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | if(debugMessage != null) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, "")); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, attribute.getNameOrOID())); |
| | | } |
| | | return createMatchAllQuery().evaluate(debugMessage); |
| | | } |
| | |
| | | { |
| | | if(debugMessage != null) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, "")); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, attribute.getNameOrOID())); |
| | | } |
| | | return createMatchAllQuery().evaluate(debugMessage); |
| | | } |
| | |
| | | { |
| | | if(debugMessage != null) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, "")); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, attribute.getNameOrOID())); |
| | | } |
| | | return new EntryIDSet(); |
| | | } |
| | |
| | | { |
| | | if (!index.isTrusted()) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_NOT_TRUSTED.get(index.getName())); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_NOT_TRUSTED.get(index.getName())); |
| | | } |
| | | else if (index.isRebuildRunning()) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_REBUILD_IN_PROGRESS.get(index.getName())); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_REBUILD_IN_PROGRESS.get(index.getName())); |
| | | } |
| | | else |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_LIMIT_EXCEEDED.get(index.getName())); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_LIMIT_EXCEEDED.get(index.getName())); |
| | | } |
| | | } |
| | | |
| | |
| | | * |
| | | * |
| | | * Copyright 2008-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2013-2014 ForgeRock AS. |
| | | * Portions Copyright 2013-2015 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import static com.sleepycat.je.LockMode.*; |
| | | import static com.sleepycat.je.OperationStatus.*; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * This class provides a compressed schema implementation whose definitions are |
| | |
| | | { |
| | | logger.traceException(e); |
| | | throw new InitializationException( |
| | | ERR_JEB_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN.get(e.getMessage()), e); |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN.get(e.getMessage()), e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | { |
| | | logger.traceException(e); |
| | | throw new InitializationException( |
| | | ERR_JEB_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN.get(e.getMessage()), e); |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN.get(e.getMessage()), e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | } |
| | | catch (final DatabaseException de) |
| | | { |
| | | final LocalizableMessage m = ERR_JEB_COMPSCHEMA_CANNOT_STORE_EX.get(de.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), m, de); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), ERR_COMPSCHEMA_CANNOT_STORE_EX.get(de.getMessage()), de); |
| | | } |
| | | } |
| | | return false; |
| | |
| | | import com.sleepycat.je.config.EnvironmentParams; |
| | | |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | | /** |
| | |
| | | { |
| | | if(!backendDirectory.mkdirs()) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_JEB_CREATE_FAIL.get(backendDirectory.getPath()); |
| | | throw new ConfigException(message); |
| | | throw new ConfigException(ERR_CREATE_FAIL.get(backendDirectory.getPath())); |
| | | } |
| | | } |
| | | //Make sure the directory is valid. |
| | | else if (!backendDirectory.isDirectory()) |
| | | { |
| | | throw new ConfigException(ERR_JEB_DIRECTORY_INVALID.get(backendDirectory.getPath())); |
| | | throw new ConfigException(ERR_DIRECTORY_INVALID.get(backendDirectory.getPath())); |
| | | } |
| | | |
| | | FilePermission backendPermission; |
| | |
| | | { |
| | | if(!FilePermission.setPermissions(backendDirectory, backendPermission)) |
| | | { |
| | | logger.warn(WARN_JEB_UNABLE_SET_PERMISSIONS, backendPermission, backendDirectory); |
| | | logger.warn(WARN_UNABLE_SET_PERMISSIONS, backendPermission, backendDirectory); |
| | | } |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | // Log an warning that the permissions were not set. |
| | | logger.warn(WARN_JEB_SET_PERMISSIONS_FAILED, backendDirectory, e); |
| | | logger.warn(WARN_SET_PERMISSIONS_FAILED, backendDirectory, e); |
| | | } |
| | | |
| | | // Open the database environment |
| | |
| | | // another to be opened. |
| | | if (ec1 != null) |
| | | { |
| | | throw new InitializationException(ERR_JEB_ENTRY_CONTAINER_ALREADY_REGISTERED.get( |
| | | ec1.getDatabasePrefix(), baseDN)); |
| | | throw new InitializationException(ERR_ENTRY_CONTAINER_ALREADY_REGISTERED.get(ec1.getDatabasePrefix(), baseDN)); |
| | | } |
| | | |
| | | this.entryContainers.put(baseDN, entryContainer); |
| | |
| | | PreloadConfig preloadConfig = new PreloadConfig(); |
| | | preloadConfig.setLoadLNs(true); |
| | | |
| | | logger.info(NOTE_JEB_CACHE_PRELOAD_STARTED, backend.getBackendID()); |
| | | logger.info(NOTE_CACHE_PRELOAD_STARTED, backend.getBackendID()); |
| | | |
| | | boolean isInterrupted = false; |
| | | |
| | |
| | | if (preloadStatus != PreloadStatus.SUCCESS) |
| | | { |
| | | if (preloadStatus == PreloadStatus.EXCEEDED_TIME) { |
| | | logger.info(NOTE_JEB_CACHE_PRELOAD_INTERRUPTED_BY_TIME, backend.getBackendID(), db.getName()); |
| | | logger.info(NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME, backend.getBackendID(), db.getName()); |
| | | } else if (preloadStatus == PreloadStatus.FILLED_CACHE) { |
| | | logger.info(NOTE_JEB_CACHE_PRELOAD_INTERRUPTED_BY_SIZE, backend.getBackendID(), db.getName()); |
| | | logger.info(NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE, backend.getBackendID(), db.getName()); |
| | | } else { |
| | | logger.info(NOTE_JEB_CACHE_PRELOAD_INTERRUPTED_UNKNOWN, backend.getBackendID(), db.getName()); |
| | | logger.info(NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN, backend.getBackendID(), db.getName()); |
| | | } |
| | | |
| | | isInterrupted = true; |
| | | break; |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_CACHE_DB_PRELOADED, db.getName()); |
| | | logger.info(NOTE_CACHE_DB_PRELOADED, db.getName()); |
| | | } |
| | | |
| | | if (!isInterrupted) { |
| | | logger.info(NOTE_JEB_CACHE_PRELOAD_DONE, backend.getBackendID()); |
| | | logger.info(NOTE_CACHE_PRELOAD_DONE, backend.getBackendID()); |
| | | } |
| | | |
| | | // Log an informational message about the size of the cache. |
| | | EnvironmentStats stats = env.getStats(new StatsConfig()); |
| | | long total = stats.getCacheTotalBytes(); |
| | | |
| | | logger.info(NOTE_JEB_CACHE_SIZE_AFTER_PRELOAD, total / (1024 * 1024)); |
| | | logger.info(NOTE_CACHE_SIZE_AFTER_PRELOAD, total / (1024 * 1024)); |
| | | } |
| | | catch (DatabaseException e) |
| | | { |
| | | logger.traceException(e); |
| | | |
| | | logger.error(ERR_JEB_CACHE_PRELOAD, backend.getBackendID(), |
| | | logger.error(ERR_CACHE_PRELOAD, backend.getBackendID(), |
| | | stackTraceToSingleLineString(e.getCause() != null ? e.getCause() : e)); |
| | | } |
| | | } |
| | |
| | | { |
| | | if(!backendDirectory.mkdirs()) |
| | | { |
| | | unacceptableReasons.add(ERR_JEB_CREATE_FAIL.get(backendDirectory.getPath())); |
| | | unacceptableReasons.add(ERR_CREATE_FAIL.get(backendDirectory.getPath())); |
| | | acceptable = false; |
| | | } |
| | | else |
| | |
| | | //Make sure the directory is valid. |
| | | else if (!backendDirectory.isDirectory()) |
| | | { |
| | | unacceptableReasons.add(ERR_JEB_DIRECTORY_INVALID.get(backendDirectory.getPath())); |
| | | unacceptableReasons.add(ERR_DIRECTORY_INVALID.get(backendDirectory.getPath())); |
| | | acceptable = false; |
| | | } |
| | | |
| | |
| | | { |
| | | if(!backendDirectory.mkdirs()) |
| | | { |
| | | ccr.addMessage(ERR_JEB_CREATE_FAIL.get(backendDirectory.getPath())); |
| | | ccr.addMessage(ERR_CREATE_FAIL.get(backendDirectory.getPath())); |
| | | ccr.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | return ccr; |
| | | } |
| | |
| | | //Make sure the directory is valid. |
| | | else if (!backendDirectory.isDirectory()) |
| | | { |
| | | ccr.addMessage(ERR_JEB_DIRECTORY_INVALID.get(backendDirectory.getPath())); |
| | | ccr.addMessage(ERR_DIRECTORY_INVALID.get(backendDirectory.getPath())); |
| | | ccr.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | return ccr; |
| | | } |
| | | |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_DB_DIR_REQUIRES_RESTART.get( |
| | | this.config.getDBDirectory(), cfg.getDBDirectory())); |
| | | ccr.addMessage(NOTE_CONFIG_DB_DIR_REQUIRES_RESTART.get(this.config.getDBDirectory(), cfg.getDBDirectory())); |
| | | } |
| | | |
| | | if(!cfg.getDBDirectoryPermissions().equalsIgnoreCase( |
| | |
| | | { |
| | | if (!FilePermission.setPermissions(backendDirectory, backendPermission)) |
| | | { |
| | | logger.warn(WARN_JEB_UNABLE_SET_PERMISSIONS, backendPermission, backendDirectory); |
| | | logger.warn(WARN_UNABLE_SET_PERMISSIONS, backendPermission, backendDirectory); |
| | | } |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | // Log an warning that the permissions were not set. |
| | | logger.warn(WARN_JEB_SET_PERMISSIONS_FAILED, backendDirectory, e); |
| | | logger.warn(WARN_SET_PERMISSIONS_FAILED, backendDirectory, e); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | | import java.util.*; |
| | |
| | | try { |
| | | assureNotPending(dn); |
| | | } catch (InterruptedException e) { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_PENDING_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_PENDING_ERR, e.getMessage()); |
| | | throw e; |
| | | } |
| | | // Either parent is in the DN cache, |
| | |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | | import java.util.Iterator; |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | config.getFilter(), name, stackTraceToSingleLineString(e)); |
| | | throw new ConfigException(msg); |
| | | throw new ConfigException(ERR_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | config.getFilter(), name, stackTraceToSingleLineString(e))); |
| | | } |
| | | |
| | | String[] sortAttrs = config.getSortOrder().split(" "); |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | throw new ConfigException(ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | throw new ConfigException(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | } |
| | | |
| | | AttributeType attrType = |
| | | DirectoryServer.getAttributeType(sortAttrs[i].toLowerCase()); |
| | | if(attrType == null) |
| | | { |
| | | LocalizableMessage msg = |
| | | ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], name); |
| | | throw new ConfigException(msg); |
| | | throw new ConfigException(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], name)); |
| | | } |
| | | sortKeys[i] = new SortKey(attrType, ascending[i]); |
| | | orderingRules[i] = attrType.getOrderingMatchingRule(); |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | cfg.getFilter(), name, |
| | | stackTraceToSingleLineString(e)); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | cfg.getFilter(), name, stackTraceToSingleLineString(e))); |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | unacceptableReasons.add(ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | return false; |
| | | } |
| | | |
| | | AttributeType attrType = DirectoryServer.getAttributeType(sortAttrs[i].toLowerCase()); |
| | | if(attrType == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], name); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], name)); |
| | | return false; |
| | | } |
| | | sortKeys[i] = new SortKey(attrType, ascending[i]); |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | ccr.addMessage(ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | config.getFilter(), name, stackTraceToSingleLineString(e))); |
| | | ccr.addMessage(ERR_CONFIG_VLV_INDEX_BAD_FILTER.get(config.getFilter(), name, stackTraceToSingleLineString(e))); |
| | | ccr.setResultCodeIfSuccess(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | ccr.addMessage(ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | ccr.addMessage(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | ccr.setResultCodeIfSuccess(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | } |
| | | |
| | |
| | | DirectoryServer.getAttributeType(sortAttrs[i].toLowerCase()); |
| | | if(attrType == null) |
| | | { |
| | | ccr.addMessage(ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | ccr.addMessage(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], name)); |
| | | ccr.setResultCodeIfSuccess(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | } |
| | | else |
| | |
| | | if (ccr.adminActionRequired()) |
| | | { |
| | | trusted = false; |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(name)); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(name)); |
| | | try |
| | | { |
| | | state.putIndexTrustState(null, this, false); |
| | |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | import java.util.*; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | |
| | | { |
| | | if(lowerName.length() < 5) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_VLV_INDEX_NOT_CONFIGURED.get(lowerName); |
| | | throw new JebException(msg); |
| | | throw new JebException(ERR_VLV_INDEX_NOT_CONFIGURED.get(lowerName)); |
| | | } |
| | | |
| | | VLVIndex vlvIndex = |
| | | entryContainer.getVLVIndex(lowerName.substring(4)); |
| | | if(vlvIndex == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_VLV_INDEX_NOT_CONFIGURED.get(lowerName.substring(4)); |
| | | throw new JebException(msg); |
| | | throw new JebException(ERR_VLV_INDEX_NOT_CONFIGURED.get(lowerName.substring(4))); |
| | | } |
| | | |
| | | vlvIndexList.add(vlvIndex); |
| | |
| | | AttributeType attrType = DirectoryServer.getAttributeType(lowerName); |
| | | if (attrType == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index); |
| | | throw new JebException(msg); |
| | | throw new JebException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index)); |
| | | } |
| | | AttributeIndex attrIndex = entryContainer.getAttributeIndex(attrType); |
| | | if (attrIndex == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index); |
| | | throw new JebException(msg); |
| | | throw new JebException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index)); |
| | | } |
| | | attrIndexList.add(attrIndex); |
| | | } |
| | |
| | | |
| | | if (cleanMode) |
| | | { |
| | | logger.info(NOTE_JEB_VERIFY_CLEAN_FINAL_STATUS, keyCount, errorCount, totalTime / 1000, rate); |
| | | logger.info(NOTE_VERIFY_CLEAN_FINAL_STATUS, keyCount, errorCount, totalTime / 1000, rate); |
| | | |
| | | if (multiReferenceCount > 0) |
| | | { |
| | |
| | | |
| | | if (logger.isDebugEnabled()) |
| | | { |
| | | logger.debug(INFO_JEB_VERIFY_MULTIPLE_REFERENCE_COUNT, multiReferenceCount); |
| | | logger.debug(INFO_JEB_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT, entryLimitExceededCount); |
| | | logger.debug(INFO_JEB_VERIFY_AVERAGE_REFERENCE_COUNT, averageEntryReferences); |
| | | logger.debug(INFO_JEB_VERIFY_MAX_REFERENCE_COUNT, maxEntryPerValue); |
| | | logger.debug(INFO_VERIFY_MULTIPLE_REFERENCE_COUNT, multiReferenceCount); |
| | | logger.debug(INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT, entryLimitExceededCount); |
| | | logger.debug(INFO_VERIFY_AVERAGE_REFERENCE_COUNT, averageEntryReferences); |
| | | logger.debug(INFO_VERIFY_MAX_REFERENCE_COUNT, maxEntryPerValue); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | logger.info(NOTE_JEB_VERIFY_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate); |
| | | logger.info(NOTE_VERIFY_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate); |
| | | if (entryLimitMap.size() > 0) |
| | | { |
| | | logger.debug(INFO_JEB_VERIFY_ENTRY_LIMIT_STATS_HEADER); |
| | | logger.debug(INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER); |
| | | |
| | | for (Map.Entry<Index,HashMap<ByteString,Long>> mapEntry : |
| | | entryLimitMap.entrySet()) |
| | |
| | | medianValue = values[x]; |
| | | } |
| | | |
| | | logger.debug(INFO_JEB_VERIFY_ENTRY_LIMIT_STATS_ROW, index, values.length, values[0], |
| | | logger.debug(INFO_VERIFY_ENTRY_LIMIT_STATS_ROW, index, values.length, values[0], |
| | | values[values.length-1], medianValue); |
| | | } |
| | | } |
| | |
| | | |
| | | float rate = 1000f*deltaCount / deltaTime; |
| | | |
| | | logger.info(NOTE_JEB_VERIFY_PROGRESS_REPORT, latestCount, totalCount, errorCount, rate); |
| | | logger.info(NOTE_VERIFY_PROGRESS_REPORT, latestCount, totalCount, errorCount, rate); |
| | | |
| | | try |
| | | { |
| | |
| | | cacheMissRate = nCacheMiss/(float)deltaCount; |
| | | } |
| | | |
| | | logger.debug(INFO_JEB_VERIFY_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | logger.debug(INFO_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | |
| | | prevEnvStats = envStats; |
| | | } |
| | |
| | | |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.UtilityMessages.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | |
| | | final long bufferCount = getBufferPoolCfg(dbCfg).computeBufferCount(db.getAvailableHeap()); |
| | | final long totalSize = bufferCount * BUFFER_SIZE / 1024; |
| | | logger.info(NOTE_PERSISTIT_MEMORY_CFG, config.getBackendId(), |
| | | bufferCount, BUFFER_SIZE, totalSize); |
| | | logger.info(NOTE_PERSISTIT_MEMORY_CFG, config.getBackendId(), bufferCount, BUFFER_SIZE, totalSize); |
| | | |
| | | db.initialize(); |
| | | volume = db.loadVolume(VOLUME_NAME); |
| | |
| | | { |
| | | if(!backendDir.mkdirs()) |
| | | { |
| | | addErrorMessage(ccr, ERR_JEB_CREATE_FAIL.get(backendDir.getPath())); |
| | | addErrorMessage(ccr, ERR_CREATE_FAIL.get(backendDir.getPath())); |
| | | } |
| | | if (cleanup) |
| | | { |
| | |
| | | } |
| | | else if (!backendDir.isDirectory()) |
| | | { |
| | | addErrorMessage(ccr, ERR_JEB_DIRECTORY_INVALID.get(backendDir.getPath())); |
| | | addErrorMessage(ccr, ERR_DIRECTORY_INVALID.get(backendDir.getPath())); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if(!FilePermission.setPermissions(backendDir, backendPermission)) |
| | | { |
| | | logger.warn(WARN_JEB_UNABLE_SET_PERMISSIONS, backendPermission, backendDir); |
| | | logger.warn(WARN_UNABLE_SET_PERMISSIONS, backendPermission, backendDir); |
| | | } |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | // Log an warning that the permissions were not set. |
| | | logger.warn(WARN_JEB_SET_PERMISSIONS_FAILED, backendDir, e); |
| | | logger.warn(WARN_SET_PERMISSIONS_FAILED, backendDir, e); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_DB_DIR_REQUIRES_RESTART.get(config.getDBDirectory(), |
| | | cfg.getDBDirectory())); |
| | | ccr.addMessage(NOTE_CONFIG_DB_DIR_REQUIRES_RESTART.get(config.getDBDirectory(), cfg.getDBDirectory())); |
| | | } |
| | | |
| | | if (!cfg.getDBDirectoryPermissions().equalsIgnoreCase(config.getDBDirectoryPermissions()) |
| | |
| | | |
| | | if (!backendDirectory.isDirectory()) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_DIRECTORY_INVALID.get(backendDirectory.getPath()); |
| | | throw new StorageRuntimeException(msg.toString()); |
| | | throw new StorageRuntimeException(ERR_DIRECTORY_INVALID.get(backendDirectory.getPath()).toString()); |
| | | } |
| | | |
| | | try |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | LocalizableMessage message = ERR_JEB_REMOVE_FAIL.get(e.getMessage()); |
| | | throw new StorageRuntimeException(message.toString(), e); |
| | | throw new StorageRuntimeException(ERR_REMOVE_FAIL.get(e.getMessage()).toString(), e); |
| | | } |
| | | |
| | | } |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | if (index.setIndexEntryLimit(indexEntryLimit)) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (index.setIndexEntryLimit(cfg.getIndexEntryLimit())) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | |
| | | if (indexType == IndexType.SUBSTRING |
| | | && config.getSubstringLength() != cfg.getSubstringLength()) |
| | | if (indexType == IndexType.SUBSTRING && config.getSubstringLength() != cfg.getSubstringLength()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | // FIXME: msg? |
| | | ccr.addMessage(NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_CONFIG_INDEX_SUBSTRING_LENGTH_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (!index.isTrusted()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(index.getName())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(index.getName())); |
| | | } |
| | | return index; |
| | | } |
| | |
| | | { |
| | | if (monitor.isFilterUseEnabled()) |
| | | { |
| | | monitor.updateStats(filter, INFO_JEB_INDEX_FILTER_MATCHING_RULE_NOT_INDEXED.get( |
| | | matchRuleOID, config.getAttribute().getNameOrOID())); |
| | | monitor.updateStats(filter, |
| | | INFO_INDEX_FILTER_MATCHING_RULE_NOT_INDEXED.get(matchRuleOID, config.getAttribute().getNameOrOID())); |
| | | } |
| | | return IndexQuery.createNullIndexQuery().evaluate(null); |
| | | } |
| | |
| | | |
| | | import static org.forgerock.util.Reject.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.server.core.DirectoryServer.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | |
| | | |
| | | /** The configuration of this backend. */ |
| | | private PluggableBackendCfg cfg; |
| | | /** The root JE container to use for this backend. */ |
| | | /** The root container to use for this backend. */ |
| | | private RootContainer rootContainer; |
| | | |
| | | // FIXME: this is broken. Replace with read-write lock. |
| | |
| | | try |
| | | { |
| | | // Log an informational message about the number of entries. |
| | | logger.info(NOTE_JEB_BACKEND_STARTED, cfg.getBackendId(), getEntryCount()); |
| | | logger.info(NOTE_BACKEND_STARTED, cfg.getBackendId(), getEntryCount()); |
| | | } |
| | | catch (StorageRuntimeException e) |
| | | { |
| | | LocalizableMessage message = WARN_JEB_GET_ENTRY_COUNT_FAILED.get(e.getMessage()); |
| | | LocalizableMessage message = WARN_GET_ENTRY_COUNT_FAILED.get(e.getMessage()); |
| | | throw new InitializationException(message, e); |
| | | } |
| | | |
| | |
| | | catch (StorageRuntimeException e) |
| | | { |
| | | logger.traceException(e); |
| | | logger.error(ERR_JEB_DATABASE_EXCEPTION, e.getMessage()); |
| | | logger.error(ERR_DATABASE_EXCEPTION, e.getMessage()); |
| | | } |
| | | |
| | | // Make sure the thread counts are zero for next initialization. |
| | |
| | | { |
| | | accessEnd(); |
| | | // FIXME: No reason why we cannot implement a move between containers |
| | | // since the containers share the same database environment. |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, WARN_JEB_FUNCTION_NOT_SUPPORTED.get()); |
| | | // since the containers share the same "container" |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, WARN_FUNCTION_NOT_SUPPORTED.get()); |
| | | } |
| | | |
| | | currentContainer.sharedLock.lock(); |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | throw new DirectoryException(errorRC, ERR_JEB_EXPORT_IO_ERROR.get(ioe.getMessage()), ioe); |
| | | throw new DirectoryException(errorRC, ERR_EXPORT_IO_ERROR.get(ioe.getMessage()), ioe); |
| | | } |
| | | catch (StorageRuntimeException de) |
| | | { |
| | |
| | | // We can't do import while the backend is online. |
| | | if (rootContainer != null) |
| | | { |
| | | throw new DirectoryException(getServerErrorResultCode(), ERR_JEB_IMPORT_BACKEND_ONLINE.get()); |
| | | throw new DirectoryException(getServerErrorResultCode(), ERR_IMPORT_BACKEND_ONLINE.get()); |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LocalizableMessage m = ERR_JEB_REMOVE_FAIL.get(e.getMessage()); |
| | | throw new DirectoryException(getServerErrorResultCode(), m, e); |
| | | throw new DirectoryException(getServerErrorResultCode(), ERR_REMOVE_FAIL.get(e.getMessage()), e); |
| | | } |
| | | } |
| | | |
| | |
| | | rootContainer.close(); |
| | | long finishTime = System.currentTimeMillis(); |
| | | long closeTime = (finishTime - startTime) / 1000; |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_ROOTCONTAINER_CLOSE, closeTime); |
| | | logger.info(NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE, closeTime); |
| | | rootContainer = null; |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_CLOSING_DATABASE); |
| | | logger.info(NOTE_IMPORT_CLOSING_DATABASE); |
| | | } |
| | | catch (StorageRuntimeException de) |
| | | { |
| | |
| | | final ResultCode errorRC = DirectoryServer.getServerErrorResultCode(); |
| | | if (!openRootContainer && rebuildConfig.includesSystemIndex()) |
| | | { |
| | | throw new DirectoryException(errorRC, ERR_JEB_REBUILD_BACKEND_ONLINE.get()); |
| | | throw new DirectoryException(errorRC, ERR_REBUILD_BACKEND_ONLINE.get()); |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns a handle to the JE root container currently used by this backend. |
| | | * Returns a handle to the root container currently used by this backend. |
| | | * The rootContainer could be NULL if the backend is not initialized. |
| | | * |
| | | * @return The RootContainer object currently used by this backend. |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns a new read-only handle to the JE root container for this backend. |
| | | * Returns a new read-only handle to the root container for this backend. |
| | | * The caller is responsible for closing the root container after use. |
| | | * |
| | | * @return The read-only RootContainer object for this backend. |
| | |
| | | |
| | | /** |
| | | * Creates a customized DirectoryException from the StorageRuntimeException |
| | | * thrown by JE backend. |
| | | * thrown by the backend. |
| | | * |
| | | * @param e |
| | | * The StorageRuntimeException to be converted. |
| | |
| | | } |
| | | catch (StorageRuntimeException e) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_OPEN_ENV_FAIL.get(e.getMessage()); |
| | | throw new InitializationException(message, e); |
| | | throw new InitializationException(ERR_OPEN_ENV_FAIL.get(e.getMessage()), e); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.server.backends.pluggable.JebFormat.*; |
| | | import static org.opends.server.backends.pluggable.DnKeyFormat.*; |
| | | import static org.opends.server.backends.pluggable.CursorTransformer.*; |
| | | |
| | | import org.forgerock.opendj.ldap.ByteSequence; |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.opendj.ldap.ByteSequence; |
| | | import org.forgerock.opendj.ldap.ByteSequenceReader; |
| | |
| | | } |
| | | |
| | | // Throw a directory referral exception containing the URIs. |
| | | LocalizableMessage msg = NOTE_JEB_REFERRAL_RESULT_MESSAGE.get(referralDN); |
| | | throw new DirectoryException( |
| | | ResultCode.REFERRAL, msg, referralDN, URIList, null); |
| | | ResultCode.REFERRAL, NOTE_REFERRAL_RESULT_MESSAGE.get(referralDN), referralDN, URIList, null); |
| | | } |
| | | |
| | | /** |
| | |
| | | // We have found a subordinate referral. |
| | | // Make sure the referral is within scope. |
| | | if (searchOp.getScope() == SearchScope.SINGLE_LEVEL |
| | | && JebFormat.findDNKeyParent(cursor.getKey()) != baseDN.length()) |
| | | && DnKeyFormat.findDNKeyParent(cursor.getKey()) != baseDN.length()) |
| | | { |
| | | continue; |
| | | } |
| | |
| | | |
| | | private ByteString toKey(DN dn) |
| | | { |
| | | return JebFormat.dnToDNKey(dn, prefixRDNComponents); |
| | | return DnKeyFormat.dnToDNKey(dn, prefixRDNComponents); |
| | | } |
| | | } |
| | |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.forgerock.util.Reject.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.*; |
| | | import static org.opends.server.backends.pluggable.State.IndexFlag.*; |
| | | |
| | |
| | | } |
| | | |
| | | setTrusted(txn, false); |
| | | logger.error(ERR_JEB_INDEX_CORRUPT_REQUIRES_REBUILD, getName()); |
| | | logger.error(ERR_INDEX_CORRUPT_REQUIRES_REBUILD, getName()); |
| | | } |
| | | |
| | | @Override |
| File was renamed from opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/JebFormat.java |
| | |
| | | /** |
| | | * Handles the disk representation of LDAP data. |
| | | */ |
| | | public class JebFormat |
| | | public class DnKeyFormat |
| | | { |
| | | |
| | | /** The format version used by this class to encode and decode a ByteString. */ |
| | |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.forgerock.util.Utils.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.*; |
| | | import static org.opends.server.backends.pluggable.IndexFilter.*; |
| | | import static org.opends.server.backends.pluggable.JebFormat.*; |
| | | import static org.opends.server.backends.pluggable.DnKeyFormat.*; |
| | | import static org.opends.server.backends.pluggable.VLVIndex.*; |
| | | import static org.opends.server.core.DirectoryServer.*; |
| | | import static org.opends.server.protocols.ldap.LDAPResultCode.*; |
| | |
| | | if (!index.isTrusted()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getAttribute().getNameOrOID())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getAttribute().getNameOrOID())); |
| | | } |
| | | attrIndexMap.put(cfg.getAttribute(), index); |
| | | } |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | cfg.getFilter(), cfg.getName(), |
| | | e.getLocalizedMessage()); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | cfg.getFilter(), cfg.getName(), e.getLocalizedMessage())); |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | LocalizableMessage msg = |
| | | ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], cfg.getName()); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], cfg.getName())); |
| | | return false; |
| | | } |
| | | |
| | |
| | | DirectoryServer.getAttributeType(sortAttrs[i].toLowerCase()); |
| | | if(attrType == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get( |
| | | sortAttrs[i], cfg.getName()); |
| | | unacceptableReasons.add(msg); |
| | | unacceptableReasons.add(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], cfg.getName())); |
| | | return false; |
| | | } |
| | | sortKeys[i] = new SortKey(attrType, ascending[i]); |
| | |
| | | if(!vlvIndex.isTrusted()) |
| | | { |
| | | ccr.setAdminActionRequired(true); |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getName())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(cfg.getName())); |
| | | } |
| | | vlvIndexMap.put(cfg.getName().toLowerCase(), vlvIndex); |
| | | } |
| | |
| | | index.open(txn); |
| | | if(!index.isTrusted()) |
| | | { |
| | | logger.info(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD, index.getName()); |
| | | logger.info(NOTE_INDEX_ADD_REQUIRES_REBUILD, index.getName()); |
| | | } |
| | | attrIndexMap.put(indexCfg.getAttribute(), index); |
| | | } |
| | |
| | | |
| | | if(!vlvIndex.isTrusted()) |
| | | { |
| | | logger.info(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD, vlvIndex.getName()); |
| | | logger.info(NOTE_INDEX_ADD_REQUIRES_REBUILD, vlvIndex.getName()); |
| | | } |
| | | |
| | | vlvIndexMap.put(vlvIndexCfg.getName().toLowerCase(), vlvIndex); |
| | |
| | | VLVRequestControl vlvRequest = searchOperation.getRequestControl(VLVRequestControl.DECODER); |
| | | if (vlvRequest != null && pageRequest != null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV.get(); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | throw new DirectoryException( |
| | | ResultCode.CONSTRAINT_VIOLATION, ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV.get()); |
| | | } |
| | | |
| | | // Handle client abandon of paged results. |
| | |
| | | ClientConnection clientConnection = searchOperation.getClientConnection(); |
| | | if (!clientConnection.hasPrivilege(Privilege.UNINDEXED_SEARCH, searchOperation)) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES.get(); |
| | | throw new DirectoryException(ResultCode.INSUFFICIENT_ACCESS_RIGHTS, message); |
| | | throw new DirectoryException( |
| | | ResultCode.INSUFFICIENT_ACCESS_RIGHTS, ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES.get()); |
| | | } |
| | | |
| | | if (sortRequest != null) |
| | |
| | | |
| | | if (sortRequest.isCritical()) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_SEARCH_CANNOT_SORT_UNINDEXED.get(); |
| | | throw new DirectoryException(ResultCode.UNAVAILABLE_CRITICAL_EXTENSION, message); |
| | | throw new DirectoryException( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION, ERR_SEARCH_CANNOT_SORT_UNINDEXED.get()); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (NoSuchElementException e) |
| | | { |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(aBaseDN), |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, ERR_SEARCH_NO_SUCH_OBJECT.get(aBaseDN), |
| | | getMatchedDN(txn, aBaseDN), e); |
| | | } |
| | | return scopeSet; |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | String str = pageRequest.getCookie().toHexString(); |
| | | LocalizableMessage msg = ERR_JEB_INVALID_PAGED_RESULTS_COOKIE.get(str); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, msg, e); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE.get(pageRequest.getCookie().toHexString()), e); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | // Lookthrough limit exceeded |
| | | searchOperation.setResultCode(ResultCode.ADMIN_LIMIT_EXCEEDED); |
| | | searchOperation.appendErrorMessage(NOTE_JEB_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | searchOperation.appendErrorMessage(NOTE_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | return; |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | String str = pageRequest.getCookie().toHexString(); |
| | | LocalizableMessage msg = ERR_JEB_INVALID_PAGED_RESULTS_COOKIE.get(str); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | msg, e); |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE.get(pageRequest.getCookie().toHexString()), e); |
| | | } |
| | | } |
| | | else if (!manageDsaIT) |
| | |
| | | { |
| | | //Lookthrough limit exceeded |
| | | searchOperation.setResultCode(ResultCode.ADMIN_LIMIT_EXCEEDED); |
| | | searchOperation.appendErrorMessage( |
| | | NOTE_JEB_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | searchOperation.appendErrorMessage(NOTE_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit)); |
| | | continueSearch = false; |
| | | } |
| | | |
| | |
| | | // Check whether the entry already exists. |
| | | if (dn2id.get(txn, entry.getName()) != null) |
| | | { |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry |
| | | .getName())); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, ERR_ADD_ENTRY_ALREADY_EXISTS.get( |
| | | entry.getName())); |
| | | } |
| | | |
| | | // Check that the parent entry exists. |
| | |
| | | parentID = dn2id.get(txn, parentDN); |
| | | if (parentID == null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_ADD_NO_SUCH_OBJECT.get(entry.getName()); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | ERR_ADD_NO_SUCH_OBJECT.get(entry.getName()), getMatchedDN(txn, baseDN), null); |
| | | } |
| | | id2childrenCount.addDelta(txn, parentID, 1); |
| | | } |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), message, e); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | }); |
| | |
| | | { |
| | | // The subtree delete control was not specified and |
| | | // the target entry is not a leaf. |
| | | throw new DirectoryException(ResultCode.NOT_ALLOWED_ON_NONLEAF, ERR_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF |
| | | throw new DirectoryException(ResultCode.NOT_ALLOWED_ON_NONLEAF, ERR_DELETE_NOT_ALLOWED_ON_NONLEAF |
| | | .get(entryDN)); |
| | | } |
| | | |
| | |
| | | |
| | | if (!pluginResult.continueProcessing()) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_JEB_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN.get(subordinateEntry.getName()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), message); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN.get(subordinateEntry.getName())); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), message, e); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | }); |
| | |
| | | ByteString value = txn.read(dn2id.getName(), leafDNKey); |
| | | if (value == null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(targetDN); |
| | | LocalizableMessage message = ERR_DELETE_NO_SUCH_OBJECT.get(targetDN); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | } |
| | |
| | | if (!txn.delete(dn2id.getName(), leafDNKey)) |
| | | { |
| | | // Do not expect to ever come through here. |
| | | LocalizableMessage message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(leafDNKey); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | throw new DirectoryException( |
| | | ResultCode.NO_SUCH_OBJECT, ERR_DELETE_NO_SUCH_OBJECT.get(leafDNKey), getMatchedDN(txn, baseDN), null); |
| | | } |
| | | |
| | | // Check that the entry exists in id2entry and read its contents. |
| | |
| | | if (entry == null) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | ERR_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | } |
| | | |
| | | if (!manageDsaIT) |
| | |
| | | if (!id2entry.remove(txn, leafID)) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | ERR_MISSING_ID2ENTRY_RECORD.get(leafID)); |
| | | } |
| | | |
| | | // Remove from the indexes, in index config order. |
| | |
| | | final EntryID parentID = dn2id.get(txn, parentDN); |
| | | if (parentID == null) |
| | | { |
| | | throw new StorageRuntimeException(ERR_JEB_MISSING_DN2ID_RECORD.get(parentDN).toString()); |
| | | throw new StorageRuntimeException(ERR_MISSING_DN2ID_RECORD.get(parentDN).toString()); |
| | | } |
| | | id2childrenCount.addDelta(txn, parentID, -1); |
| | | } |
| | |
| | | EntryID entryID = dn2id.get(txn, newEntry.getName()); |
| | | if (entryID == null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_MODIFY_NO_SUCH_OBJECT.get(newEntry.getName()); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message, matchedDN, null); |
| | | ERR_MODIFY_NO_SUCH_OBJECT.get(newEntry.getName()), getMatchedDN(txn, baseDN), null); |
| | | } |
| | | |
| | | if (!isManageDsaITOperation(modifyOperation)) |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | }); |
| | |
| | | // Check whether the renamed entry already exists. |
| | | if (!currentDN.equals(entry.getName()) && dn2id.get(txn, entry.getName()) != null) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(entry.getName()); |
| | | LocalizableMessage message = ERR_MODIFYDN_ALREADY_EXISTS.get(entry.getName()); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | | |
| | |
| | | // Check for referral entries above the target entry. |
| | | dn2uri.targetEntryReferrals(txn, currentDN, null); |
| | | |
| | | LocalizableMessage message = ERR_JEB_MODIFYDN_NO_SUCH_OBJECT.get(currentDN); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT.get(currentDN), getMatchedDN(txn, baseDN), null); |
| | | } |
| | | |
| | | Entry oldApexEntry = id2entry.get(txn, oldApexID); |
| | | if (oldApexEntry == null) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), ERR_JEB_MISSING_ID2ENTRY_RECORD |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), ERR_MISSING_ID2ENTRY_RECORD |
| | | .get(oldApexID)); |
| | | } |
| | | |
| | |
| | | EntryID newSuperiorID = dn2id.get(txn, newSuperiorDN); |
| | | if (newSuperiorID == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_NEW_SUPERIOR_NO_SUCH_OBJECT.get(newSuperiorDN); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, msg, matchedDN, null); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT.get(newSuperiorDN), getMatchedDN(txn, baseDN), null); |
| | | } |
| | | |
| | | if (newSuperiorID.compareTo(oldApexID) > 0) |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), message, e); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), ERR_UNCHECKED_EXCEPTION.get(msg), e); |
| | | } |
| | | } |
| | | }); |
| | |
| | | if (!pluginResult.continueProcessing()) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN.get(oldDN, newDN)); |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN.get(oldDN, newDN)); |
| | | } |
| | | |
| | | if (! modifications.isEmpty()) |
| | |
| | | if (! newEntry.conformsToSchema(null, false, false, false, |
| | | invalidReason)) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR.get(oldDN, newDN, invalidReason); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR.get(oldDN, newDN, invalidReason)); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new StorageRuntimeException(message.toString(), e); |
| | | throw new StorageRuntimeException(ERR_UNCHECKED_EXCEPTION.get(msg).toString(), e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | { |
| | | msg = stackTraceToSingleLineString(e); |
| | | } |
| | | LocalizableMessage message = ERR_JEB_UNCHECKED_EXCEPTION.get(msg); |
| | | throw new StorageRuntimeException(message.toString(), e); |
| | | throw new StorageRuntimeException(ERR_UNCHECKED_EXCEPTION.get(msg).toString(), e); |
| | | } |
| | | } |
| | | } |
| | |
| | | // Check for referral entries above the base entry. |
| | | dn2uri.targetEntryReferrals(txn, baseDN, searchScope); |
| | | |
| | | LocalizableMessage message = ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN); |
| | | DN matchedDN = getMatchedDN(txn, baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message, matchedDN, null); |
| | | ERR_SEARCH_NO_SUCH_OBJECT.get(baseDN), getMatchedDN(txn, baseDN), null); |
| | | } |
| | | |
| | | return baseEntry; |
| | |
| | | import org.opends.server.util.LDIFException; |
| | | import org.opends.server.util.StaticUtils; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * Export a JE backend to LDIF. |
| | |
| | | rate = 1000f*exportedCount / totalTime; |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_EXPORT_FINAL_STATUS, exportedCount, skippedCount, totalTime/1000, rate); |
| | | |
| | | logger.info(NOTE_EXPORT_FINAL_STATUS, exportedCount, skippedCount, totalTime/1000, rate); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | float rate = 1000f*deltaCount / deltaTime; |
| | | |
| | | logger.info(NOTE_JEB_EXPORT_PROGRESS_REPORT, latestCount, skippedCount, rate); |
| | | logger.info(NOTE_EXPORT_PROGRESS_REPORT, latestCount, skippedCount, rate); |
| | | |
| | | previousCount = latestCount; |
| | | previousTime = latestTime; |
| | |
| | | |
| | | import static org.forgerock.util.Reject.*; |
| | | import static org.forgerock.util.Utils.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.core.DirectoryServer.*; |
| | | |
| | | import java.io.IOException; |
| | |
| | | { |
| | | // Get the format version. |
| | | byte formatVersion = bytes.byteAt(0); |
| | | if(formatVersion != JebFormat.FORMAT_VERSION) |
| | | if(formatVersion != DnKeyFormat.FORMAT_VERSION) |
| | | { |
| | | throw DecodeException.error(ERR_JEB_INCOMPATIBLE_ENTRY_VERSION.get(formatVersion)); |
| | | throw DecodeException.error(ERR_INCOMPATIBLE_ENTRY_VERSION.get(formatVersion)); |
| | | } |
| | | |
| | | // Read the ASN1 sequence. |
| | |
| | | entry.encode(entryBuffer, dataConfig.getEntryEncodeConfig()); |
| | | |
| | | // First write the DB format version byte. |
| | | encodedBuffer.append(JebFormat.FORMAT_VERSION); |
| | | encodedBuffer.append(DnKeyFormat.FORMAT_VERSION); |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_JEB_ENTRY_DATABASE_CORRUPT.get(id)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), ERR_ENTRY_DATABASE_CORRUPT.get(id)); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.admin.std.meta.BackendIndexCfgDefn.IndexType.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.*; |
| | | import static org.opends.server.backends.pluggable.SuffixContainer.*; |
| | |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | import java.util.concurrent.atomic.AtomicLong; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.opendj.config.server.ConfigException; |
| | | import org.forgerock.opendj.ldap.ByteSequence; |
| | |
| | | recursiveDelete(tempDir); |
| | | if (!tempDir.exists() && !tempDir.mkdirs()) |
| | | { |
| | | throw new InitializationException(ERR_JEB_IMPORT_CREATE_TMPDIR_ERROR.get(tempDir)); |
| | | throw new InitializationException(ERR_IMPORT_CREATE_TMPDIR_ERROR.get(tempDir)); |
| | | } |
| | | return tempDir; |
| | | } |
| | |
| | | |
| | | if (oldThreadCount != threadCount) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_ADJUST_THREAD_COUNT, oldThreadCount, threadCount); |
| | | logger.info(NOTE_IMPORT_ADJUST_THREAD_COUNT, oldThreadCount, threadCount); |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_TOT_MEM_BUF, availableMemory, phaseOneBufferCount); |
| | | logger.info(NOTE_IMPORT_LDIF_TOT_MEM_BUF, availableMemory, phaseOneBufferCount); |
| | | if (dnCacheSize > 0) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_TMP_ENV_MEM, dnCacheSize); |
| | | logger.info(NOTE_IMPORT_LDIF_TMP_ENV_MEM, dnCacheSize); |
| | | } |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_DB_MEM_BUF_INFO, dbCacheSize, bufferSize); |
| | | logger.info(NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO, dbCacheSize, bufferSize); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | LocalizableMessage message = ERR_JEB_IMPORT_LDIF_READER_IO_ERROR.get(); |
| | | throw new InitializationException(message, ioe); |
| | | throw new InitializationException(ERR_IMPORT_LDIF_READER_IO_ERROR.get(), ioe); |
| | | } |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_STARTING, DirectoryServer.getVersionString(), |
| | | BUILD_ID, REVISION_NUMBER); |
| | | logger.info(NOTE_JEB_IMPORT_THREAD_COUNT, threadCount); |
| | | logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION_NUMBER); |
| | | logger.info(NOTE_IMPORT_THREAD_COUNT, threadCount); |
| | | |
| | | final Storage storage = rootContainer.getStorage(); |
| | | storage.write(new WriteOperation() |
| | |
| | | recursiveDelete(tempDir); |
| | | final long finishTime = System.currentTimeMillis(); |
| | | final long importTime = finishTime - startTime; |
| | | logger.info(NOTE_JEB_IMPORT_PHASE_STATS, importTime / 1000, |
| | | logger.info(NOTE_IMPORT_PHASE_STATS, importTime / 1000, |
| | | (phaseOneFinishTime - startTime) / 1000, |
| | | (phaseTwoFinishTime - phaseTwoTime) / 1000); |
| | | float rate = 0; |
| | |
| | | { |
| | | rate = 1000f * reader.getEntriesRead() / importTime; |
| | | } |
| | | logger.info(NOTE_JEB_IMPORT_FINAL_STATUS, reader.getEntriesRead(), importCount.get(), |
| | | logger.info(NOTE_IMPORT_FINAL_STATUS, reader.getEntriesRead(), importCount.get(), |
| | | reader.getEntriesIgnored(), reader.getEntriesRejected(), |
| | | migratedCount, importTime / 1000, rate); |
| | | return new LDIFImportResult(reader.getEntriesRead(), |
| | |
| | | } |
| | | catch (StorageRuntimeException ex) |
| | | { |
| | | throw new StorageRuntimeException(NOTE_JEB_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage()).toString()); |
| | | throw new StorageRuntimeException(NOTE_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage()).toString()); |
| | | } |
| | | } |
| | | |
| | |
| | | // processing of smaller indexes. |
| | | dbThreads = Math.max(2, dbThreads); |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_PHASE_TWO_MEM_REPORT, availableMemory, readAheadSize, buffers); |
| | | logger.info(NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT, availableMemory, readAheadSize, buffers); |
| | | |
| | | // Start indexing tasks. |
| | | ExecutorService dbService = Executors.newFixedThreadPool(dbThreads); |
| | |
| | | EntryContainer entryContainer = suffix.getSrcEntryContainer(); |
| | | if (entryContainer != null && !suffix.getExcludeBranches().isEmpty()) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_MIGRATION_START, "excluded", suffix.getBaseDN()); |
| | | logger.info(NOTE_IMPORT_MIGRATION_START, "excluded", suffix.getBaseDN()); |
| | | Cursor<ByteString, ByteString> cursor = txn.openCursor(entryContainer.getDN2ID().getName()); |
| | | try |
| | | { |
| | | for (DN excludedDN : suffix.getExcludeBranches()) |
| | | { |
| | | final ByteString key = JebFormat.dnToDNKey(excludedDN, suffix.getBaseDN().size()); |
| | | final ByteString key = DnKeyFormat.dnToDNKey(excludedDN, suffix.getBaseDN().size()); |
| | | boolean success = cursor.positionToKeyOrNext(key); |
| | | if (success && key.equals(cursor.getKey())) |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | EntryContainer entryContainer = suffix.getSrcEntryContainer(); |
| | | if (entryContainer != null && !suffix.getIncludeBranches().isEmpty()) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_MIGRATION_START, "existing", suffix.getBaseDN()); |
| | | logger.info(NOTE_IMPORT_MIGRATION_START, "existing", suffix.getBaseDN()); |
| | | Cursor<ByteString, ByteString> cursor = txn.openCursor(entryContainer.getDN2ID().getName()); |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | { |
| | | if (includeBranch.isDescendantOf(suffix.getBaseDN())) |
| | | { |
| | | includeBranches.add(JebFormat.dnToDNKey(includeBranch, suffix.getBaseDN().size())); |
| | | includeBranches.add(DnKeyFormat.dnToDNKey(includeBranch, suffix.getBaseDN().size())); |
| | | } |
| | | } |
| | | return includeBranches; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_IMPORT_TASK_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_IMPORT_TASK_ERR, e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | DN parentDN = suffix.getEntryContainer().getParentWithinBase(entryDN); |
| | | if (parentDN != null && !suffix.isParentProcessed(txn, parentDN, dnCache, clearedBackend)) |
| | | { |
| | | reader.rejectEntry(entry, ERR_JEB_IMPORT_PARENT_NOT_FOUND.get(parentDN)); |
| | | reader.rejectEntry(entry, ERR_IMPORT_PARENT_NOT_FOUND.get(parentDN)); |
| | | return false; |
| | | } |
| | | //If the backend was not cleared, then the dn2id needs to checked first |
| | |
| | | EntryID id = suffix.getDN2ID().get(txn, entryDN); |
| | | if (id != null || !dnCache.insert(entryDN)) |
| | | { |
| | | reader.rejectEntry(entry, WARN_JEB_IMPORT_ENTRY_EXISTS.get()); |
| | | reader.rejectEntry(entry, WARN_IMPORT_ENTRY_EXISTS.get()); |
| | | return false; |
| | | } |
| | | } |
| | | else if (!dnCache.insert(entryDN)) |
| | | { |
| | | reader.rejectEntry(entry, WARN_JEB_IMPORT_ENTRY_EXISTS.get()); |
| | | reader.rejectEntry(entry, WARN_IMPORT_ENTRY_EXISTS.get()); |
| | | return false; |
| | | } |
| | | return true; |
| | |
| | | throws InterruptedException |
| | | { |
| | | DN2ID dn2id = suffix.getDN2ID(); |
| | | ByteString dnBytes = JebFormat.dnToDNKey(dn, suffix.getBaseDN().size()); |
| | | ByteString dnBytes = DnKeyFormat.dnToDNKey(dn, suffix.getBaseDN().size()); |
| | | int indexID = processKey(dn2id, dnBytes, entryID, dnIndexKey, true); |
| | | indexIDToECMap.putIfAbsent(indexID, suffix.getEntryContainer()); |
| | | } |
| | |
| | | nextBufferID = 0; |
| | | ownedPermits = 0; |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_INDEX_STARTED, indexMgr.getBufferFileName(), |
| | | remainingBuffers, totalBatches); |
| | | logger.info(NOTE_IMPORT_LDIF_INDEX_STARTED, indexMgr.getBufferFileName(), remainingBuffers, totalBatches); |
| | | |
| | | indexMgr.setIndexDBWriteTask(this); |
| | | isRunning = true; |
| | |
| | | |
| | | if (!isCanceled) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_DN_CLOSE, indexMgr.getDNCount()); |
| | | logger.info(NOTE_IMPORT_LDIF_DN_CLOSE, indexMgr.getDNCount()); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (!isCanceled) |
| | | { |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_INDEX_CLOSE, indexMgr.getBufferFileName()); |
| | | logger.info(NOTE_IMPORT_LDIF_INDEX_CLOSE, indexMgr.getBufferFileName()); |
| | | } |
| | | } |
| | | } |
| | |
| | | final long kiloBytesRate = bytesReadInterval / deltaTime; |
| | | final long kiloBytesRemaining = (bufferFileSize - tmpBytesRead) / 1024; |
| | | |
| | | logger.info(NOTE_JEB_IMPORT_LDIF_PHASE_TWO_REPORT, indexMgr.getBufferFileName(), |
| | | logger.info(NOTE_IMPORT_LDIF_PHASE_TWO_REPORT, indexMgr.getBufferFileName(), |
| | | bytesReadPercent, kiloBytesRemaining, kiloBytesRate, currentBatch, totalBatches); |
| | | |
| | | lastBytesRead = tmpBytesRead; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_INDEX_WRITE_DB_ERR, indexMgr.getBufferFileName(), e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR, indexMgr.getBufferFileName(), e.getMessage()); |
| | | throw e; |
| | | } |
| | | finally |
| | |
| | | |
| | | private ByteSequence getParent(ByteSequence dn) |
| | | { |
| | | int parentIndex = JebFormat.findDNKeyParent(dn); |
| | | int parentIndex = DnKeyFormat.findDNKeyParent(dn); |
| | | if (parentIndex < 0) |
| | | { |
| | | // This is the root or base DN |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_INDEX_FILEWRITER_ERR, |
| | | indexMgr.getBufferFile().getAbsolutePath(), e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR, indexMgr.getBufferFile().getAbsolutePath(), e.getMessage()); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | switch (rebuildConfig.getRebuildMode()) |
| | | { |
| | | case ALL: |
| | | logger.info(NOTE_JEB_REBUILD_ALL_START, totalEntries); |
| | | logger.info(NOTE_REBUILD_ALL_START, totalEntries); |
| | | break; |
| | | case DEGRADED: |
| | | logger.info(NOTE_JEB_REBUILD_DEGRADED_START, totalEntries); |
| | | logger.info(NOTE_REBUILD_DEGRADED_START, totalEntries); |
| | | break; |
| | | default: |
| | | if (!rebuildConfig.isClearDegradedState() |
| | | && logger.isInfoEnabled()) |
| | | { |
| | | String indexes = Utils.joinAsString(", ", rebuildConfig.getRebuildList()); |
| | | logger.info(NOTE_JEB_REBUILD_START, indexes, totalEntries); |
| | | logger.info(NOTE_REBUILD_START, indexes, totalEntries); |
| | | } |
| | | break; |
| | | } |
| | |
| | | |
| | | if (!rebuildConfig.isClearDegradedState()) |
| | | { |
| | | logger.info(NOTE_JEB_REBUILD_FINAL_STATUS, entriesProcessed.get(), totalTime / 1000, rate); |
| | | logger.info(NOTE_REBUILD_FINAL_STATUS, entriesProcessed.get(), totalTime / 1000, rate); |
| | | } |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | logger.error(ERR_JEB_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR, stackTraceToSingleLineString(e)); |
| | | logger.error(ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR, stackTraceToSingleLineString(e)); |
| | | isCanceled = true; |
| | | throw e; |
| | | } |
| | |
| | | private void clearDegradedState(WriteableTransaction txn) |
| | | { |
| | | setIndexesListsToBeRebuilt(txn); |
| | | logger.info(NOTE_JEB_REBUILD_CLEARDEGRADEDSTATE_FINAL_STATUS, rebuildConfig.getRebuildList()); |
| | | logger.info(NOTE_REBUILD_CLEARDEGRADEDSTATE_FINAL_STATUS, rebuildConfig.getRebuildList()); |
| | | postRebuildIndexes(txn); |
| | | } |
| | | |
| | |
| | | } |
| | | catch (StorageRuntimeException ex) |
| | | { |
| | | throw new StorageRuntimeException(NOTE_JEB_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage()).toString()); |
| | | throw new StorageRuntimeException(NOTE_IMPORT_LDIF_TRUSTED_FAILED.get(ex.getMessage()).toString()); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (lowerName.length() < 5) |
| | | { |
| | | throw new StorageRuntimeException(ERR_JEB_VLV_INDEX_NOT_CONFIGURED.get(lowerName).toString()); |
| | | throw new StorageRuntimeException(ERR_VLV_INDEX_NOT_CONFIGURED.get(lowerName).toString()); |
| | | } |
| | | indexCount++; |
| | | } |
| | |
| | | |
| | | private InitializationException attributeIndexNotConfigured(String index) |
| | | { |
| | | return new InitializationException(ERR_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index)); |
| | | return new InitializationException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index)); |
| | | } |
| | | |
| | | private boolean findExtensibleMatchingRule(PluggableBackendCfg cfg, String indexExRuleName) throws ConfigException |
| | |
| | | { |
| | | completed = 100f * entriesProcessed / rebuildManager.getTotalEntries(); |
| | | } |
| | | logger.info(NOTE_JEB_REBUILD_PROGRESS_REPORT, completed, entriesProcessed, |
| | | rebuildManager.getTotalEntries(), rate); |
| | | logger.info(NOTE_REBUILD_PROGRESS_REPORT, completed, entriesProcessed, rebuildManager.getTotalEntries(), rate); |
| | | |
| | | previousProcessed = entriesProcessed; |
| | | previousTime = latestTime; |
| | |
| | | return; |
| | | } |
| | | float rate = 1000f * deltaCount / deltaTime; |
| | | logger.info(NOTE_JEB_IMPORT_PROGRESS_REPORT, entriesRead, entriesIgnored, entriesRejected, rate); |
| | | logger.info(NOTE_IMPORT_PROGRESS_REPORT, entriesRead, entriesIgnored, entriesRejected, rate); |
| | | |
| | | previousCount = entriesRead; |
| | | previousTime = latestTime; |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.*; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | if(monitor.isFilterUseEnabled()) |
| | | { |
| | | monitor.updateStats(SearchFilter.createANDFilter(rangeList), |
| | | INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get("ordering", |
| | | rangeEntry.getKey().getNameOrOID())); |
| | | INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get("ordering", rangeEntry.getKey().getNameOrOID())); |
| | | } |
| | | continue; |
| | | } |
| | |
| | | |
| | | if (monitor.isFilterUseEnabled()) |
| | | { |
| | | monitor.updateStats(filter, INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get( |
| | | monitor.updateStats(filter, INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get( |
| | | indexFilterType.toString(), filter.getAttributeType().getNameOrOID())); |
| | | } |
| | | return newUndefinedSet(); |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | | import java.io.IOException; |
| | |
| | | } |
| | | catch (IOException ex) |
| | | { |
| | | logger.error(ERR_JEB_IMPORT_BUFFER_IO_ERROR, indexMgr.getBufferFileName()); |
| | | logger.error(ERR_IMPORT_BUFFER_IO_ERROR, indexMgr.getBufferFileName()); |
| | | throw new RuntimeException(ex); |
| | | } |
| | | } |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.newUndefinedSet; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | { |
| | | if(debugMessage != null) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, "")); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, |
| | | attributeIndex.getAttributeType().getNameOrOID())); |
| | | } |
| | | return createMatchAllQuery().evaluate(debugMessage); |
| | | } |
| | |
| | | { |
| | | if (debugMessage != null) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, "")); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, |
| | | attributeIndex.getAttributeType().getNameOrOID())); |
| | | } |
| | | return createMatchAllQuery().evaluate(debugMessage); |
| | | } |
| | |
| | | { |
| | | if(debugMessage != null) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, "")); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, |
| | | attributeIndex.getAttributeType().getNameOrOID())); |
| | | } |
| | | return newUndefinedSet(); |
| | | } |
| | |
| | | { |
| | | if (!index.isTrusted()) |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_NOT_TRUSTED.get(index.getName())); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_NOT_TRUSTED.get(index.getName())); |
| | | } |
| | | else |
| | | { |
| | | debugMessage.append(INFO_JEB_INDEX_FILTER_INDEX_LIMIT_EXCEEDED.get(index.getName())); |
| | | debugMessage.append(INFO_INDEX_FILTER_INDEX_LIMIT_EXCEEDED.get(index.getName())); |
| | | } |
| | | } |
| | | |
| | |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.opendj.io.ASN1; |
| | | import org.forgerock.opendj.io.ASN1Reader; |
| | |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.InitializationException; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | /** |
| | | * This class provides a compressed schema implementation whose definitions are |
| | |
| | | catch (final IOException e) |
| | | { |
| | | logger.traceException(e); |
| | | throw new InitializationException( |
| | | ERR_JEB_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN.get(e.getMessage()), e); |
| | | throw new InitializationException(ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN.get(e.getMessage()), e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | catch (final IOException e) |
| | | { |
| | | logger.traceException(e); |
| | | throw new InitializationException( |
| | | ERR_JEB_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN.get(e.getMessage()), e); |
| | | throw new InitializationException(ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN.get(e.getMessage()), e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | } |
| | | catch (final Exception e) |
| | | { |
| | | final LocalizableMessage m = ERR_JEB_COMPSCHEMA_CANNOT_STORE_EX.get(e.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), m, e); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX.get(e.getMessage()), e); |
| | | } |
| | | } |
| | | |
| | |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.UtilityMessages.*; |
| | | import static org.opends.server.core.DirectoryServer.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | |
| | | long entriesIgnored = reader.getEntriesIgnored(); |
| | | long entriesRejected = reader.getEntriesRejected(); |
| | | float rate = 1000f * deltaCount / deltaTime; |
| | | logger.info(NOTE_JEB_IMPORT_PROGRESS_REPORT, entriesRead, entriesIgnored, entriesRejected, rate); |
| | | logger.info(NOTE_IMPORT_PROGRESS_REPORT, entriesRead, entriesIgnored, entriesRejected, rate); |
| | | |
| | | previousCount = latestCount; |
| | | previousTime = latestTime; |
| | |
| | | } |
| | | else |
| | | { |
| | | reader.rejectLastEntry(WARN_JEB_IMPORT_ENTRY_EXISTS.get()); |
| | | reader.rejectLastEntry(WARN_IMPORT_ENTRY_EXISTS.get()); |
| | | } |
| | | break; |
| | | case NO_SUCH_OBJECT: |
| | | reader.rejectLastEntry(ERR_JEB_IMPORT_PARENT_NOT_FOUND.get(dn.parent())); |
| | | reader.rejectLastEntry(ERR_IMPORT_PARENT_NOT_FOUND.get(dn.parent())); |
| | | break; |
| | | default: |
| | | // Not sure why it failed. |
| | |
| | | { |
| | | rate = 1000f * reader.getEntriesRead() / importTime; |
| | | } |
| | | logger.info(NOTE_JEB_IMPORT_FINAL_STATUS, reader.getEntriesRead(), importCount, reader.getEntriesIgnored(), |
| | | logger.info(NOTE_IMPORT_FINAL_STATUS, reader.getEntriesRead(), importCount, reader.getEntriesIgnored(), |
| | | reader.getEntriesRejected(), 0, importTime / 1000, rate); |
| | | return new LDIFImportResult(reader.getEntriesRead(), reader.getEntriesRejected(), reader.getEntriesIgnored()); |
| | | } |
| | |
| | | // another to be opened. |
| | | if (ec1 != null) |
| | | { |
| | | throw new InitializationException(ERR_JEB_ENTRY_CONTAINER_ALREADY_REGISTERED.get(ec1.getDatabasePrefix(), |
| | | baseDN)); |
| | | throw new InitializationException(ERR_ENTRY_CONTAINER_ALREADY_REGISTERED.get(ec1.getDatabasePrefix(), baseDN)); |
| | | } |
| | | |
| | | this.entryContainers.put(baseDN, entryContainer); |
| | |
| | | { |
| | | logger.traceException(e); |
| | | |
| | | logger.error(ERR_JEB_CACHE_PRELOAD, backend.getBackendID(), |
| | | logger.error(ERR_CACHE_PRELOAD, backend.getBackendID(), |
| | | stackTraceToSingleLineString(e.getCause() != null ? e.getCause() : e)); |
| | | } |
| | | } |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | |
| | | import java.util.*; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | |
| | | try { |
| | | assureNotPending(dn); |
| | | } catch (InterruptedException e) { |
| | | logger.error(ERR_JEB_IMPORT_LDIF_PENDING_ERR, e.getMessage()); |
| | | logger.error(ERR_IMPORT_LDIF_PENDING_ERR, e.getMessage()); |
| | | throw e; |
| | | } |
| | | // Either parent is in the DN cache, |
| | |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.server.backends.pluggable.EntryIDSet.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | } |
| | | catch (final Exception e) |
| | | { |
| | | final LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | config.getFilter(), getName(), stackTraceToSingleLineString(e)); |
| | | throw new ConfigException(msg); |
| | | throw new ConfigException(ERR_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | config.getFilter(), getName(), stackTraceToSingleLineString(e))); |
| | | } |
| | | |
| | | this.sortOrder = new SortOrder(parseSortKeys(config.getSortOrder())); |
| | |
| | | } |
| | | catch (final Exception e) |
| | | { |
| | | final LocalizableMessage msg = ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | final LocalizableMessage msg = ERR_CONFIG_VLV_INDEX_BAD_FILTER.get( |
| | | cfg.getFilter(), getName(), stackTraceToSingleLineString(e)); |
| | | unacceptableReasons.add(msg); |
| | | return false; |
| | |
| | | } |
| | | catch (final Exception e) |
| | | { |
| | | ccr.addMessage(ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER.get(config.getFilter(), getName(), |
| | | ccr.addMessage(ERR_CONFIG_VLV_INDEX_BAD_FILTER.get(config.getFilter(), getName(), |
| | | stackTraceToSingleLineString(e))); |
| | | ccr.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | } |
| | |
| | | if (ccr.adminActionRequired()) |
| | | { |
| | | trusted = false; |
| | | ccr.addMessage(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(getName())); |
| | | ccr.addMessage(NOTE_INDEX_ADD_REQUIRES_REBUILD.get(getName())); |
| | | try |
| | | { |
| | | state.removeFlagsFromIndex(txn, getName(), IndexFlag.TRUSTED); |
| | |
| | | } |
| | | catch (final Exception e) |
| | | { |
| | | throw new ConfigException(ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], getName())); |
| | | throw new ConfigException(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortKeys[i], getName())); |
| | | } |
| | | |
| | | final AttributeType attrType = DirectoryServer.getAttributeType(sortAttrs[i].toLowerCase()); |
| | | if (attrType == null) |
| | | { |
| | | throw new ConfigException(ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], getName())); |
| | | throw new ConfigException(ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR.get(sortAttrs[i], getName())); |
| | | } |
| | | sortKeys[i] = new SortKey(attrType, ascending); |
| | | } |
| | |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.server.backends.pluggable.JebFormat.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.backends.pluggable.DnKeyFormat.*; |
| | | import static org.opends.server.backends.pluggable.VLVIndex.*; |
| | | |
| | | import java.util.AbstractSet; |
| | |
| | | import java.util.TimerTask; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.opendj.ldap.ByteSequence; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | |
| | | { |
| | | if(lowerName.length() < 5) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_VLV_INDEX_NOT_CONFIGURED.get(lowerName); |
| | | throw new StorageRuntimeException(msg.toString()); |
| | | throw new StorageRuntimeException(ERR_VLV_INDEX_NOT_CONFIGURED.get(lowerName).toString()); |
| | | } |
| | | |
| | | VLVIndex vlvIndex = |
| | | entryContainer.getVLVIndex(lowerName.substring(4)); |
| | | if(vlvIndex == null) |
| | | { |
| | | LocalizableMessage msg = |
| | | ERR_JEB_VLV_INDEX_NOT_CONFIGURED.get(lowerName.substring(4)); |
| | | throw new StorageRuntimeException(msg.toString()); |
| | | throw new StorageRuntimeException(ERR_VLV_INDEX_NOT_CONFIGURED.get(lowerName.substring(4)).toString()); |
| | | } |
| | | |
| | | vlvIndexList.add(vlvIndex); |
| | |
| | | AttributeType attrType = DirectoryServer.getAttributeType(lowerName); |
| | | if (attrType == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index); |
| | | throw new StorageRuntimeException(msg.toString()); |
| | | throw new StorageRuntimeException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index).toString()); |
| | | } |
| | | AttributeIndex attrIndex = entryContainer.getAttributeIndex(attrType); |
| | | if (attrIndex == null) |
| | | { |
| | | LocalizableMessage msg = ERR_JEB_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index); |
| | | throw new StorageRuntimeException(msg.toString()); |
| | | throw new StorageRuntimeException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index).toString()); |
| | | } |
| | | attrIndexList.add(attrIndex); |
| | | } |
| | |
| | | |
| | | if (cleanMode) |
| | | { |
| | | logger.info(NOTE_JEB_VERIFY_CLEAN_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate); |
| | | logger.info(NOTE_VERIFY_CLEAN_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate); |
| | | |
| | | if (multiReferenceCount > 0) |
| | | { |
| | |
| | | |
| | | if (logger.isDebugEnabled()) |
| | | { |
| | | logger.debug(INFO_JEB_VERIFY_MULTIPLE_REFERENCE_COUNT, multiReferenceCount); |
| | | logger.debug(INFO_JEB_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT, entryLimitExceededCount); |
| | | logger.debug(INFO_JEB_VERIFY_AVERAGE_REFERENCE_COUNT, averageEntryReferences); |
| | | logger.debug(INFO_JEB_VERIFY_MAX_REFERENCE_COUNT, maxEntryPerValue); |
| | | logger.debug(INFO_VERIFY_MULTIPLE_REFERENCE_COUNT, multiReferenceCount); |
| | | logger.debug(INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT, entryLimitExceededCount); |
| | | logger.debug(INFO_VERIFY_AVERAGE_REFERENCE_COUNT, averageEntryReferences); |
| | | logger.debug(INFO_VERIFY_MAX_REFERENCE_COUNT, maxEntryPerValue); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | logger.info(NOTE_JEB_VERIFY_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate); |
| | | logger.info(NOTE_VERIFY_FINAL_STATUS, keyCount, errorCount, totalTime/1000, rate); |
| | | if (entryLimitMap.size() > 0) |
| | | { |
| | | logger.debug(INFO_JEB_VERIFY_ENTRY_LIMIT_STATS_HEADER); |
| | | logger.debug(INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER); |
| | | |
| | | for (Map.Entry<Index,HashMap<ByteString,Long>> mapEntry : |
| | | entryLimitMap.entrySet()) |
| | |
| | | medianValue = values[x]; |
| | | } |
| | | |
| | | logger.debug(INFO_JEB_VERIFY_ENTRY_LIMIT_STATS_ROW, index, values.length, values[0], |
| | | logger.debug(INFO_VERIFY_ENTRY_LIMIT_STATS_ROW, index, values.length, values[0], |
| | | values[values.length-1], medianValue); |
| | | } |
| | | } |
| | |
| | | |
| | | float rate = 1000f*deltaCount / deltaTime; |
| | | |
| | | logger.info(NOTE_JEB_VERIFY_PROGRESS_REPORT, latestCount, totalCount, errorCount, rate); |
| | | logger.info(NOTE_VERIFY_PROGRESS_REPORT, latestCount, totalCount, errorCount, rate); |
| | | |
| | | try |
| | | { |
| | |
| | | // FIXME JNR compute the cache miss rate |
| | | float cacheMissRate = 0; |
| | | |
| | | logger.debug(INFO_JEB_VERIFY_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | logger.debug(INFO_CACHE_AND_MEMORY_REPORT, freeMemory, cacheMissRate); |
| | | } |
| | | catch (StorageRuntimeException e) |
| | | { |
| | |
| | | import static com.sleepycat.je.EnvironmentConfig.*; |
| | | import static com.sleepycat.je.OperationStatus.*; |
| | | |
| | | import static org.opends.messages.JebMessages.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.messages.ReplicationMessages.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | } |
| | | catch (RuntimeException e) |
| | | { |
| | | final LocalizableMessage message = ERR_JEB_DATABASE_EXCEPTION.get(e.getMessage()); |
| | | throw new ChangelogException(message, e); |
| | | throw new ChangelogException(ERR_DATABASE_EXCEPTION.get(e.getMessage()), e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | switch to append mode for backend '%s': %s |
| | | ERR_BACKEND_END_APPEND_MODE_435=An error occurred while trying to \ |
| | | end append mode for backend '%s': %s |
| | | NOTE_CONFIG_INDEX_SUBSTRING_LENGTH_REQUIRES_REBUILD_436= Due to changes in the \ |
| | | configuration, index %s is currently operating in a degraded state and must \ |
| | | be rebuilt before it can be used |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=The attribute '%s' \ |
| | | cannot have extensible index type for invalid matching rule name '%s' |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=Insufficient free memory (%d bytes) to \ |
| | | perform import. At least %d bytes of free memory is required |
| | | WARN_IMPORT_LDIF_LACK_MEM_PHASE_TWO_439=Insufficient free memory (%d bytes) to \ |
| | | perform import phase 2 in a single batch. Some indexes will be imported using \ |
| | | several batches which may result in reduced performance |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=The attribute '%s' cannot \ |
| | | have indexing of type '%s' because it does not have a corresponding matching \ |
| | | rule |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=Unable to process the virtual \ |
| | | list view request because the target start position was before the beginning \ |
| | | of the result set |
| | | ERR_MISSING_DN2ID_RECORD_442=The DN database does not contain a \ |
| | | record for '%s' |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=The entry database does not contain \ |
| | | a record for ID %s |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=Unable to examine the entry \ |
| | | with ID %s for sorting purposes: %s |
| | | ERR_EXECUTION_ERROR_445=Execution error during backend operation: %s |
| | | ERR_INTERRUPTED_ERROR_446=Interrupted error during backend operation: %s |
| | | ERR_CREATE_FAIL_447=The backend database directory could not be \ |
| | | created: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=This platform does not support \ |
| | | setting file permissions %s to the database directory %s |
| | | WARN_SET_PERMISSIONS_FAILED_449=An error occurred while setting \ |
| | | file permissions for the backend database directory %s: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=The change to the DB directory \ |
| | | will not take effect until the backend is restarted. The DB files from the \ |
| | | previous directory %s must be moved to the new directory %s after shutting \ |
| | | down the backend to retain the existing data |
| | | ERR_DIRECTORY_INVALID_451=The backend database directory '%s' is not \ |
| | | a valid directory |
| | | NOTE_PERSISTIT_MEMORY_CFG_452=The Persistit storage for backend '%s' initialized \ |
| | | to use %d buffers of %d bytes (total %dkb) |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=The entry '%s' cannot be added \ |
| | | because an entry with that name already exists |
| | | ERR_ADD_NO_SUCH_OBJECT_454=The entry '%s' cannot be added because its \ |
| | | parent entry does not exist |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=There is no index configured \ |
| | | for attribute type '%s' |
| | | ERR_CACHE_PRELOAD_456=An error occurred while preloading the \ |
| | | database cache for backend %s: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=An error occurred while \ |
| | | attempting to decode an attribute description token from the compressed \ |
| | | schema definitions: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=An error occurred while \ |
| | | attempting to decode an object class set token from the compressed \ |
| | | schema definitions: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=An error occurred while \ |
| | | attempting to store compressed schema information in the database: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=An error occurred while parsing \ |
| | | the search filter %s defined for VLV index %s: %s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=Sort attribute %s for VLV \ |
| | | index %s is not defined in the server schema |
| | | ERR_DATABASE_EXCEPTION_462=Database exception: %s |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN_463=A plugin caused the \ |
| | | delete operation to be aborted while deleting a subordinate entry %s |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=The entry '%s' cannot be \ |
| | | removed because it has subordinate entries |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=The entry '%s' cannot be removed \ |
| | | because it does not exist |
| | | ERR_ENTRY_CONTAINER_ALREADY_REGISTERED_466=An entry container named \ |
| | | '%s' is alreadly registered for base DN '%s' |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=The entry database does not contain \ |
| | | a valid record for ID %s |
| | | ERR_EXPORT_IO_ERROR_468=I/O error occurred while exporting entry: %s |
| | | ERR_IMPORT_BACKEND_ONLINE_469=The backend must be disabled before \ |
| | | the import process can start |
| | | ERR_IMPORT_BUFFER_IO_ERROR_470=I/O error occurred while reading \ |
| | | the index scratch file %s in the temporary directory |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=Unable to create the temporary \ |
| | | directory %s |
| | | ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR_472=The following \ |
| | | error was received while processing the append and replace task: %s |
| | | ERR_IMPORT_LDIF_IMPORT_TASK_ERR_473=The following \ |
| | | error was received while processing the import task: %s |
| | | ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR_474=The following I/O \ |
| | | error was received while writing the %s index scratch file in the temporary \ |
| | | directory: %s |
| | | ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR_475=The following \ |
| | | error was received while processing the %s index: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR_476=The following \ |
| | | error was received while processing the migrate excluded task: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR_477=The following \ |
| | | error was received while processing the migrate existing task: %s |
| | | ERR_IMPORT_LDIF_PENDING_ERR_478=The following error was received \ |
| | | while performing a pending DN check: %s |
| | | ERR_IMPORT_LDIF_READER_IO_ERROR_479=I/O error occurred while opening \ |
| | | the LDIF stream |
| | | ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR_480=The following \ |
| | | error was received while processing the rebuild index task: %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=The parent entry '%s' does not exist |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=Entry record is not \ |
| | | compatible with this version of the backend database. Entry version: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=An error occurred while \ |
| | | reading from index %s. The index seems to be corrupt and is now operating in \ |
| | | a degraded state. The index must be rebuilt before it can return to normal \ |
| | | operation |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=The following paged results \ |
| | | control cookie value was not recognized: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=A plugin caused the \ |
| | | modify DN operation to be aborted while moving and/or renaming an entry from \ |
| | | %s to %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=A plugin caused \ |
| | | the modify DN operation to be aborted while moving and/or renaming an entry \ |
| | | from %s to %s because the change to that entry violated the server schema \ |
| | | configuration: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=The entry cannot be renamed to '%s' \ |
| | | because an entry with that name already exists |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=The entry '%s' cannot be renamed \ |
| | | because it does not exist |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=The entry '%s' cannot be modified \ |
| | | because it does not exist |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=The entry cannot be moved because \ |
| | | the new parent entry '%s' does not exist |
| | | ERR_OPEN_ENV_FAIL_493=The database environment could not be opened: \ |
| | | %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=Rebuilding system index(es) must be \ |
| | | done with the backend containing the base DN disabled |
| | | ERR_REMOVE_FAIL_495=The backend database files could not be removed: \ |
| | | %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=The requested search \ |
| | | operation included both the simple paged results control and the virtual list \ |
| | | view control. These controls are mutually exclusive and cannot be used \ |
| | | together |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=The search results cannot be \ |
| | | sorted because the given search request is not indexed |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=The search base entry '%s' does not \ |
| | | exist |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=You do not have \ |
| | | sufficient privileges to perform an unindexed search |
| | | ERR_UNCHECKED_EXCEPTION_500=Unchecked exception during database \ |
| | | transaction: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=There is no VLV index configured \ |
| | | with name '%s' |
| | | INFO_INDEX_FILTER_INDEX_LIMIT_EXCEEDED_502=The filter value exceeded the \ |
| | | index entry limit for the %s index |
| | | INFO_INDEX_FILTER_INDEX_NOT_TRUSTED_503=%s index is invalid and needs to \ |
| | | be rebuilt |
| | | INFO_INDEX_FILTER_INDEX_TYPE_DISABLED_504=%s index type is disabled for \ |
| | | the %s attribute |
| | | INFO_INDEX_FILTER_MATCHING_RULE_NOT_INDEXED_505=Matching rule %s is \ |
| | | disabled for the extensible index of the %s attribute |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=Average number of entries \ |
| | | referenced is %.2f/record |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=Free memory = %d MB, Cache miss \ |
| | | rate = %.1f/record |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=Number of records that exceed \ |
| | | the entry limit: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=Statistics for records that have \ |
| | | exceeded the entry limit: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=File %s has %d such record(s) \ |
| | | min=%d max=%d median=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=Maximum number of entries referenced \ |
| | | by any record is %d |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=Number of records referencing \ |
| | | more than one entry: %d |
| | | NOTE_BACKEND_STARTED_513=The database backend %s containing %d entries \ |
| | | has started |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=Some index keys have \ |
| | | already exceeded the previous index entry limit in index %s. This index must \ |
| | | be rebuilt before it can use the new limit |
| | | NOTE_EXPORT_FINAL_STATUS_515=Exported %d entries and skipped %d in %d \ |
| | | seconds (average rate %.1f/sec) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=Exported %d records and skipped %d (recent \ |
| | | rate %.1f/sec) |
| | | NOTE_IMPORT_ADJUST_THREAD_COUNT_517=Insufficient memory to allocate \ |
| | | enough phase one buffers for use by %d threads. Lowering the number of threads \ |
| | | used to %d |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=Flushing data to disk |
| | | NOTE_IMPORT_FINAL_STATUS_519=Processed %d entries, imported %d, skipped \ |
| | | %d, rejected %d and migrated %d in %d seconds (average rate %.1f/sec) |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=Setting DB cache size to %d bytes \ |
| | | and phase one buffer size to %d bytes |
| | | NOTE_IMPORT_LDIF_DN_CLOSE_521=DN phase two processing completed. \ |
| | | Processed %d DNs |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=Index %s phase two processing completed |
| | | NOTE_IMPORT_LDIF_INDEX_STARTED_523=Index %s phase two started processing \ |
| | | %d buffers in %d batches |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT_524=The available memory for phase \ |
| | | two processing is %d bytes. The read ahead cache size is %d bytes calculated \ |
| | | using %d buffers |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=Index %s %d%% complete: \ |
| | | remaining = %d kb, rate = %d kb/s; batch %d/%d |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=Import LDIF environment close \ |
| | | took %d seconds |
| | | NOTE_IMPORT_LDIF_TMP_ENV_MEM_527=The amount memory available to \ |
| | | the temporary DN cache environment is %d bytes |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=The amount of free memory available to \ |
| | | the import task is %d bytes. The number of phase one buffers required is \ |
| | | %d buffers |
| | | NOTE_IMPORT_LDIF_TRUSTED_FAILED_529=Setting indexes trusted failed \ |
| | | for the following reason: %s |
| | | NOTE_IMPORT_MIGRATION_START_530=Migrating %s entries for base DN %s |
| | | NOTE_IMPORT_PHASE_STATS_531=Total import time was %d seconds. Phase one \ |
| | | processing completed in %d seconds, phase two processing completed in %d seconds |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=Processed %d entries, skipped %d \ |
| | | and rejected %d (recent rate %.1f/sec) |
| | | NOTE_IMPORT_STARTING_533=%s starting import (build %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=Import Thread Count: %d threads |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=Due to changes in the \ |
| | | configuration, index %s is currently operating in a degraded state and must \ |
| | | be rebuilt before it can be used |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=This search operation has checked the \ |
| | | maximum of %d entries for matches |
| | | NOTE_REBUILD_ALL_START_537=Rebuild of all indexes started with %d total \ |
| | | entries to process |
| | | NOTE_REBUILD_CLEARDEGRADEDSTATE_FINAL_STATUS_538=Degraded state of \ |
| | | index(es) %s has been cleared |
| | | NOTE_REBUILD_DEGRADED_START_539=Rebuild of all degraded indexes started \ |
| | | with %d total entries to process |
| | | NOTE_REBUILD_FINAL_STATUS_540=Rebuild complete. Processed %d entries in \ |
| | | %d seconds (average rate %.1f/sec) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% Completed. Processed %d/%d \ |
| | | entries. (recent rate %.1f/sec) |
| | | NOTE_REBUILD_START_542=Rebuild of index(es) %s started with %d total \ |
| | | entries to process |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=A referral entry %s indicates that the \ |
| | | operation must be processed at a different server |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=Checked %d records and found %d \ |
| | | error(s) in %d seconds (average rate %.1f/sec) |
| | | NOTE_VERIFY_FINAL_STATUS_545=Checked %d entries and found %d error(s) in \ |
| | | %d seconds (average rate %.1f/sec) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=Processed %d out of %d records and found \ |
| | | %d error(s) (recent rate %.1f/sec) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=The requested operation is not \ |
| | | supported by this backend |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=Unable to determine the total \ |
| | | number of entries in the container: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=The entry exists and the import \ |
| | | options do not allow it to be replaced |
| | | NOTE_CACHE_PRELOAD_STARTED_550=The database cache preload for backend %s \ |
| | | has started |
| | | NOTE_CACHE_DB_PRELOADED_551=The database cache preload for database %s \ |
| | | is complete |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=The database cache preload for \ |
| | | backend %s has been interrupted while preloading database %s due to time limit |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=The database cache preload for \ |
| | | backend %s has been interrupted while preloading database %s due to size limit |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=The database cache preload for \ |
| | | backend %s has been interrupted while preloading database %s |
| | | NOTE_CACHE_PRELOAD_DONE_555=The database cache preload for backend %s \ |
| | | is complete |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=The database cache is %d MB after \ |
| | | pre-loading |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=Including %s additional log file(s) due \ |
| | | to cleaner activity |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=The change to the %s attribute will \ |
| | | not take effect until the backend is restarted |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=The database logging level string \ |
| | | '%s' provided for configuration entry '%s' is invalid. The value must be one \ |
| | | of OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, or ALL. Note \ |
| | | that these values are case sensitive |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=An error occurred while \ |
| | | attempting to store compressed schema information in the database. The \ |
| | | result returned was: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=The server was \ |
| | | unable to store compressed schema information in the database after multiple \ |
| | | attempts |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=The backend database directory \ |
| | | '%s' does not exist |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=Checkpoints performed: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=Cleaner runs: %d files deleted: %d \ |
| | | entries read: %d IN nodes cleaned: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=Eviction in progress. Passes: \ |
| | | %d nodes evicted: %d BIN nodes stripped: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=Eviction detected after importing \ |
| | | %d entries |
| | | ERR_CONFIG_JEB_CACHE_SIZE_TOO_SMALL_569=Configuration \ |
| | | attribute ds-cfg-db-cache-size has a value of %d which is less than \ |
| | | the minimum: %d |
| | | ERR_CONFIG_JEB_DURABILITY_CONFLICT_570=Configuration attributes \ |
| | | ds-cfg-db-txn-no-sync and ds-cfg-db-txn-write-no-sync are mutually \ |
| | | exclusive and cannot be both set at the same time |
| | | WARN_OUT_OF_DISK_SPACE_571=There is not enough space on the disk \ |
| | | for the database to perform the write operation |
| | | ERR_IMPORT_LDIF_LACK_DISK_PHASE_ONE_572=The disk containing directory \ |
| | | %s is full. After freeing more than %d bytes on the disk, \ |
| | | import can continue in append and replace mode to load the rest of the \ |
| | | entries |
| | | ERR_IMPORT_LDIF_LACK_DISK_PHASE_TWO_573=The disk containing directory \ |
| | | %s is full. After freeing more than %d bytes on the disk, \ |
| | | a rebuild of all the indexes is needed to complete the import |
| | | ERR_REBUILD_INDEX_LACK_DISK_574=The disk containing directory \ |
| | | %s is full. Rebuild index can not continue until the free \ |
| | | space rises above the threshold (%d bytes) |
| | | INFO_INDEX_FILTER_INDEX_REBUILD_IN_PROGRESS_575=%s index is being rebuilt |
| | | NOTE_JEB_SUBORDINATE_INDEXES_DISABLED_576=The subordinate indexes have been \ |
| | | disabled for database backend %s |
| | | ERR_PARENT_ENTRY_IS_MISSING_577=Parent entry is missing |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=Could not find any \ |
| | | backup in '%s'. A full backup will be executed |
| | |
| | | ERR_TASKSCHED_DEPENDENCY_MISSING_412=No es pot programar la tasca %s perqu\u00e8 falta la seva depend\u00e8ncia %s |
| | | NOTE_TASK_STARTED_413=%s tasca %s iniciada l'execuci\u00f3 |
| | | ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_LDAP_SYNTAX_415=No es pot afegir la descripci\u00f3 de sintaxis ldap amb l'OID %s perqu\u00e8 aquest entra amb conflict amb una descripci\u00f3 de sintaxis ldap existent |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=L'atribut '%s' no pot tenir un tipus d'\u00edndex extensible per a un nom de regla de coincid\u00e8ncia no v\u00e0lid '%s' |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=Mem\u00f2ria lliure insuficient per realitzar la importaci\u00f3. Com a m\u00ednim es necessiten %dMB de mem\u00f2ria lliure |
| | | ERR_EXECUTION_ERROR_445=error d'execuci\u00f3 durant l'operaci\u00f3 d'infraestructura de fons (backend): %s |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=No es pot crear el directori temporal %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=La entrada pare '%s' no existeix |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=Mem\u00f2ria lliure = %d MB, percentatge de p\u00e8rdues de la mem. cache = %.1f/entada{code} |
| | | NOTE_BACKEND_STARTED_513=S'ha iniciat la infraestructura de fons (backend) de la base de dades %s, que cont\u00e9 %d entrades |
| | | NOTE_EXPORT_FINAL_STATUS_515=Exportades %d entrades i omeses %d en %d segons (promig %.1f/sec) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=Exportats %d registres i omesos %d (percentatge recent %.1f/sec) |
| | | NOTE_IMPORT_FINAL_STATUS_519=Processades %d entrades, importades %d, omeses %d, rebutjades %d i migrades %d en %d segons (mitja percentatge %.1f/sec) |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=Establint la mida de la mem\u00f2ria cau de la BDD a %d bytes, i establint la mida del buffer de la fase u (1) a %d bytes |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=\u00cdndex %s completada fase dos de processament |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=\u00cdndex %s: bytes restants = %d, mitja de processament de claus = %.1f/sec |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=La importaci\u00f3 de l'entorn LDIF va prendre %d segons |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=La quantitat de mem\u00f2ria lliure disponible per la tasca d'importaci\u00f3 \u00e9s de %d bytes. En n\u00famero de buffers per a la fase u (1) \u00e9s %d |
| | | NOTE_IMPORT_MIGRATION_START_530=Migrant %s entrades pel DN base %s |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=Processades %d entrades, omeses %d, i rebutjades %d (percentatge recent %.1f/sec) |
| | | NOTE_IMPORT_STARTING_533=%s comen\u00e7ant la importaci\u00f3 (construcci\u00f3 %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=Comptador de fils d'execuci\u00f3 importats: %d fils d'execuci\u00f3 |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=Comprovats %d registres i trobats %d error(s) en %d segons (mitja percentatge %.1f/sec) |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=Incloent %s fitxers addicionals de registre degut a l'activitat de neteja |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=El directori d'infraestructura de fons (backend) '%s' no existeix |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=Punts d'inspecci\u00f3 realitzats: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=Desallotjament en proc\u00e9s. Passat: %d nodes desallotjats: %d nodes BIN tallats: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=Detectat desallotjament despr\u00e9s d'importar %d entrades |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=No es pot trobar cap c\u00f2pia de seguretat en '%s'. S'executar\u00e0 un c\u00f2pia de seguretat total |
| | |
| | | ERR_RECURRINGTASK_INVALID_MONTH_TOKEN_SIMPLE_423=Die angegebene der wiederkehrende Aufgabenzeitplan Wert besitzt einen ung\u00fcltigen Jahresmonat-Token |
| | | ERR_RECURRINGTASK_INVALID_WEEKDAY_TOKEN_SIMPLE_424=Die angegebene der wiederkehrende Aufgabenzeitplan Wert besitzt einen ung\u00fcltigen Wochentag-Token |
| | | ERR_SCHEMA_INVALID_REPLACE_MODIFICATION_425=Das Schema-Backend unterst\u00fctzt nicht den Bearbeitungstyp Replace des Attributtyps %s |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=Das Attribut '%s' darf keinen erweiterbaren Indextyp f\u00fcr den ung\u00fcltigen \u00dcbereinstimmungsregelnamen %s' besitzen |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=Unzureichender freier Speicher (%d Byte) f\u00fcr den Import. Es sind mindestens %d Byte freier Speicher erforderlich |
| | | WARN_IMPORT_LDIF_LACK_MEM_PHASE_TWO_439=Unzureichender freier Speicher (%d Bytes), um Phase 2 in einem einzelnen Batch zu importieren. Einige Indizes werden in verschiedenen Batches importiert, wodurch die Leistung m\u00f6glicherweise reduziert wird |
| | | |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=Das Attribut '%s' kann keine Indizierung des Typs '%s' enthalten, da es keine zugeh\u00f6rige \u00dcbereinstimmungsregel besitzt |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=Anforderung f\u00fcr virtuelle Listenansicht kann nicht verarbeitet werden, da die Ziel-Startposition vor dem Anfang des Ergebnissatzes liegt |
| | | ERR_MISSING_DN2ID_RECORD_442=Die DN-Datenbank enth\u00e4lt keinen Datensatz f\u00fcr '%s' |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=Die Eintragsdatenbank enth\u00e4lt keinen Datensatz f\u00fcr '%s' |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=Der Eintrag mit ID %s konnte nicht f\u00fcr Sortierzwecke untersucht werden: %s |
| | | ERR_EXECUTION_ERROR_445=Ausf\u00fchrungsfehler w\u00e4hrend des Backend-Vorgangs: %s |
| | | ERR_INTERRUPTED_ERROR_446=Unterbrechungsfehler w\u00e4hrend des Backend-Vorgangs: %s |
| | | ERR_CREATE_FAIL_447=Das Backend-Datenbankverzeichnis konnte nicht erstellt werden: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=Diese Plattform unterst\u00fctzt die Einstellung der Dateiberechtigungen %s f\u00fcr das Datenbankverzeichnis %s nicht |
| | | WARN_SET_PERMISSIONS_FAILED_449=Beim Einstellen der Dateiberechtigungen f\u00fcr das Backend-Datenbankverzeichnis %s ist ein Fehler aufgetreten: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=Die \u00c4nderung an dem DB-Verzeichnis tritt erst in Kraft, wenn das Backend neu gestartet wird. Die DB-Dateien aus dem vorherigen Verzeichnis %s m\u00fcssen nach dem Herunterfahren des Backend in das neue Verzeichnis %s verschoben werden, damit die vorhandenen Daten beibehalten werden |
| | | ERR_DIRECTORY_INVALID_451=Das Backend-Datenbankverzeichnis '%s' ist kein g\u00fcltiges Verzeichnis |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=Der Eintrag '%s' kann nicht hinzugef\u00fcgt werden, da bereits ein Eintrag mit diesem Namen vorhanden ist |
| | | ERR_ADD_NO_SUCH_OBJECT_454=Der Eintrag '%s' kann nicht hinzugef\u00fcgt werden, da sein \u00fcbergeordneter Eintrag nicht vorhanden ist |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=F\u00fcr den Attributtyp '%s' ist kein Index konfiguriert |
| | | ERR_CACHE_PRELOAD_456=Fehler beim Vorladen des Datenbank-Cache f\u00fcr Backend %s: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=Fehler beim Versuch, ein Token der Attributbeschreibung von den JE-komprimierten Schemadefinitionen zu entschl\u00fcsseln: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=Fehler beim Versuch, ein Token des Objektklassensatzes von den JE-komprimierten Schemadefinitionen zu entschl\u00fcsseln: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=Fehler beim Versuch, komprimierte Schemainformationen in der Datenbank zu speichern: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=Bei der Analyse des f\u00fcr VLV-Index %2$s definierten Suchfilters %1$s ist ein Fehler aufgetreten: %3$s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=Sortierattribut %s f\u00fcr VLV-Index %s ist nicht im Serverschema definiert |
| | | ERR_DATABASE_EXCEPTION_462=Datenbankausnahme: %s |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN_463=Aufgrund eines Plugins wurde der L\u00f6schvorgang abgebrochen, w\u00e4hrend ein untergeordneter Eintrag %s gel\u00f6scht wurde |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=Der Eintrag '%s' kann nicht entfernt werden, da er \u00fcber untergeordnete Eintr\u00e4ge verf\u00fcgt |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=Der Eintrag '%s' kann nicht entfernt werden, da er nicht vorhanden ist |
| | | ERR_ENTRY_CONTAINER_ALREADY_REGISTERED_466=Ein Eintragscontainer mit dem Namen '%s' ist bereits f\u00fcr Basis-DN '%s' registriert |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=Die Eintragsdatenbank enth\u00e4lt keinen g\u00fcltigen Datensatz f\u00fcr ID %s |
| | | ERR_EXPORT_IO_ERROR_468=E/A-Fehler ist beim Exportieren des Eintrags aufgetreten: %s |
| | | ERR_IMPORT_BACKEND_ONLINE_469=Das Backend muss deaktiviert werden, bevor der Importprozess starten kann |
| | | ERR_IMPORT_BUFFER_IO_ERROR_470=E/A-Fehler ist beim Lesen der Index-Arbeitsdatei %s in dem tempor\u00e4ren Verzeichnis aufgetreten |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=Das tempor\u00e4re Verzeichnis %s konnte nicht erstellt werden |
| | | ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR_472=Der folgende Fehler wurde w\u00e4hrend der Verarbeitung der Anh\u00e4ngen- und Ersetzen-Aufgabe empfangen: %s |
| | | ERR_IMPORT_LDIF_IMPORT_TASK_ERR_473=Der folgende Fehler wurde w\u00e4hrend der Verarbeitung der Importaufgabe empfangen: %s |
| | | ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR_474=Der folgende E/A-Fehler wurde beim Schreiben der Index-Arbeitsdatei %s in das tempor\u00e4re Verzeichnis empfangen: %s |
| | | ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR_475=Der folgende Fehler wurde w\u00e4hrend der Verarbeitung des %s Indexes empfangen: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR_476=Der folgende Fehler wurde w\u00e4hrend der Verarbeitung der ausgeschlossenen Migrieren-Aufgabe empfangen: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR_477=Der folgende Fehler wurde w\u00e4hrend der Verarbeitung der vorhandenen Migrieren-Aufgabe empfangen: %s |
| | | ERR_IMPORT_LDIF_PENDING_ERR_478=Der folgende Fehler wurde w\u00e4hrend der Ausf\u00fchrung einer anstehenden DN-Pr\u00fcfung empfangen: %s |
| | | ERR_IMPORT_LDIF_READER_IO_ERROR_479=E/A-Fehler ist beim \u00d6ffnen von LDIF-Stream aufgetreten |
| | | ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR_480=Der folgende Fehler wurde w\u00e4hrend der Verarbeitung der Neuerstellung einer Indexaufgabe empfangen: %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=Der \u00fcbergeordnete Eintrag '%s' ist nicht vorhanden |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=Eintragsdatensatz ist nicht kompatibel mit dieser Version der Backend-Datenbank. Eintragsversion: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=Beim Lesen aus Index %s ist ein Fehler aufgetreten. Der Index scheint besch\u00e4digt zu sein und befindet sich derzeit in einem heruntergestuften Betriebszustand. Der Index muss neu erstellt werden, bevor er in den normalen Betriebszustand zur\u00fcckkehren kann |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=Der Wert des Steuerungscookies f\u00fcr die folgenden in Seiten eingeteilten Ergebnisse wurde nicht erkannt: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=W\u00e4hrend des Verschiebens und/oder Umbenennens eines Eintrags von %s in %s bewirkte ein Plug-In den Abbruch des \u00c4nderungsvorgangs f\u00fcr den DN |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=W\u00e4hrend des Verschiebens und/oder Umbenennens eines Eintrags von %s in %s bewirkte ein Plug-In den Abbruch des \u00c4nderungsvorgangs f\u00fcr den DN, weil die \u00c4nderung an diesem Eintrag gegen die Serverschema-Konfiguration verstie\u00df: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=Der Eintrag kann nicht in '%s' umbenannt werden, da bereits ein Eintrag mit diesem Namen vorhanden ist |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=Der Eintrag '%s' kann nicht umbenannt werden, da er nicht vorhanden ist |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=Der Eintrag '%s' kann nicht ge\u00e4ndert werden, da er nicht vorhanden ist |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=Der Eintrag kann nicht verschoben werden, da der neue \u00fcbergeordnete Eintrag '%s' nicht vorhanden ist |
| | | ERR_OPEN_ENV_FAIL_493=Die Datenbankumgebung konnte nicht ge\u00f6ffnet werden: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=Die Neuerstellung des Systemindexes/der Systemindizen muss mit dem Backend durchgef\u00fchrt werden, das den deaktivieren Basis-DN enth\u00e4lt |
| | | ERR_REMOVE_FAIL_495=Die Backend-Datenbankdateien konnten nicht entfernt werden: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=Der angeforderte Suchvorgang enthielt sowohl das Steuerelement f\u00fcr die einfache Seitenansicht der Ergebnisse als auch das Steuerelement f\u00fcr die virtuelle Listenansicht. Diese Steuerelemente schlie\u00dfen sich gegenseitig aus und k\u00f6nnen nicht gemeinsam verwendet werden |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=Die Suchergebnisse k\u00f6nnen nicht sortiert werden, da die gegebene Suchanforderung nicht indiziert ist |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=Der Suchbasiseintrag '%s' ist nicht vorhanden |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=Sie verf\u00fcgen nicht \u00fcber die zum Durchf\u00fchren einer nicht indizierten Suche erforderlichen Berechtigungen |
| | | ERR_UNCHECKED_EXCEPTION_500=Ungepr\u00fcfte Ausnahme w\u00e4hrend Datenbanktransaktion: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=F\u00fcr den Namen '%s' ist kein VLV-Index konfiguriert |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=Durchschnittliche Anzahl der Eintr\u00e4ge, auf die verwiesen wird, ist %.2f/Datensatz |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=Freier Speicher = %d MB, Cachefehlerrate = %.1f/Datensatz |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=Anzahl der Datens\u00e4tze, die die Eintragsbeschr\u00e4nkung \u00fcberschreiten: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=Statistik f\u00fcr Datens\u00e4tze, die die Eintragsbeschr\u00e4nkung \u00fcberschritten haben: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=Datei %s enth\u00e4lt %d solche Datens\u00e4tze Min.=%d Max.=%d Mittelwert=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=Die H\u00f6chstzahl der Eintr\u00e4ge, auf die ein Datensatz verweist, ist %d |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=Anzahl der Datens\u00e4tze, die auf mehrere Eintr\u00e4ge verweisen: %d |
| | | NOTE_BACKEND_STARTED_513=Das Datenbank-Backend %s mit %d Eintr\u00e4gen wurde gestartet |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=Einige Indexschl\u00fcssel haben bereits die vorherige Beschr\u00e4nkung f\u00fcr Indexeintr\u00e4ge im Index %s \u00fcberschritten. Dieser Index muss neu erstellt werden, bevor die neue Beschr\u00e4nkung verwendet werden kann |
| | | NOTE_EXPORT_FINAL_STATUS_515=%d Eintr\u00e4ge exportiert und %d \u00fcbersprungen in %d Sekunden (durchschnittliche Rate %.1f/Sek.) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=%d Datens\u00e4tze exportiert und %d \u00fcbersprungen (letzte Rate %.1f/Sek.) |
| | | NOTE_IMPORT_ADJUST_THREAD_COUNT_517=Unzureichender Speicherplatz, um gen\u00fcgend Phase-Eins-Puffer f\u00fcr die Verwendung von %d Threads zuzuweisen. Verringerung der verwendeten Threads auf %d |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=Daten werden auf Datentr\u00e4ger ausgegeben |
| | | NOTE_IMPORT_FINAL_STATUS_519=%d Eintr\u00e4ge verarbeitet, %d importiert, %d \u00fcbersprungen, %d abgelehnt und %d migriert in %d Sekunden (durchschnittl. Rate %.1f/Sek.) |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=DB-Cachegr\u00f6\u00dfe wird auf %d Byte und die Phase-Eins-Puffergr\u00f6\u00dfe wird auf %d Byte festgelegt |
| | | NOTE_IMPORT_LDIF_DN_CLOSE_521=Phase-Zwei-Verarbeitung des DN abgeschlossen. %d DNs verarbeitet |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=Phase-Zwei-Verarbeitung des Index %s abgeschlossen |
| | | NOTE_IMPORT_LDIF_INDEX_STARTED_523=Index %s Phase 2 mit Verarbeitung gestartet: %d Puffer in %d Batches |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT_524=Der verf\u00fcgbare Speicher f\u00fcr die Phase-Zwei-Verarbeitung ist %d Byte. Die Vorauslesen-Cachegr\u00f6\u00dfe ist %d Byte, die mithilfe von %d Puffer berechnet wurde |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=Index %s %d%% vollst\u00e4ndig: verbleibend = %d kb, Rate = %d kb/s; Batch %d/%d |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=Das Schlie\u00dfen des LDIF-Umgebungsimports dauerte %d Sekunden |
| | | NOTE_IMPORT_LDIF_TMP_ENV_MEM_527=Der f\u00fcr die tempor\u00e4re DN-Cacheumgebung verf\u00fcgbare Arbeitsspeicher betr\u00e4gt %d Byte |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=Der f\u00fcr den Import der Aufgabe verf\u00fcgbare freie Arbeitsspeicher betr\u00e4gt %d Byte. Die Anzahl der erforderlichen Phase-Eins-Puffer betr\u00e4gt %d |
| | | NOTE_IMPORT_LDIF_TRUSTED_FAILED_529=Das Festlegen von Indizes als "vertrauensw\u00fcrdig" ist aus folgenden Grund fehlgeschlagen: %s |
| | | NOTE_IMPORT_MIGRATION_START_530=%s Eintr\u00e4ge f\u00fcr Basis-DN %s werden migriert |
| | | NOTE_IMPORT_PHASE_STATS_531=Gesamte Importzeit betr\u00e4gt %d Sekunden. Phase-Eins-Verarbeitung wurde in %d Sekunden abgeschlossen, Phase-Zwei-Verarbeitung wurde in %d Sekunden abgeschlossen |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=%d Eintr\u00e4ge verarbeitet, %d \u00fcbersprungen und %d abgelehnt (letzte Rate %.1f/Sek.) |
| | | NOTE_IMPORT_STARTING_533=%s - Import wird gestartet (Build %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=Anzahl der importierten Threads: %d Threads |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=Aufgrund von \u00c4nderungen an der Konfiguration befindet sich der Index %s derzeit in einem heruntergestuften Betriebszustand. Er muss neu erstellt werden, damit er verwendet werden kann |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=Bei diesem Suchvorgang wurden maximal %d Eintr\u00e4ge auf \u00dcbereinstimmungen \u00fcberpr\u00fcft |
| | | NOTE_REBUILD_ALL_START_537=Neuerstellung aller Indizes gestartet. Insgesamt werden %d Eintr\u00e4ge verarbeitet |
| | | NOTE_REBUILD_FINAL_STATUS_540=Neuerstellung abgeschlossen. %d Eintr\u00e4ge in %d Sekunden verarbeitet (durchschnittl. Rate %.1f/Sek.) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% abgeschlossen. %d/%d Eintr\u00e4ge verarbeitet. (letzte Rate %.1f/Sek.) |
| | | NOTE_REBUILD_START_542=Neuerstellung des Indexes/der Indizes %s gestartet, insgesamt %d Eintr\u00e4ge sind zu verarbeiten |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=Der Referral-Eintrag %s deutet darauf hin, dass der Vorgang auf einem anderen Server erfolgen muss |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=%d Datens\u00e4tze \u00fcberpr\u00fcft und %d Fehler in %d Sekunden gefunden (durchschnittl. Rate %.1f/Sek.) |
| | | NOTE_VERIFY_FINAL_STATUS_545=%d Eintr\u00e4ge \u00fcberpr\u00fcft und %d Fehler in %d Sekunden gefunden (durchschnittl. Rate %.1f/Sek.) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=%d von %d Datens\u00e4tzen verarbeitet und %d Fehler gefunden (letzte Rate %.1f/Sek.) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=Der angeforderte Vorgang wird nicht von diesem Backend unterst\u00fctzt |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=Die Gesamtanzahl der Eintr\u00e4ge in dem Container konnte nicht festgelegt werden: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=Der Eintrag ist vorhanden und die Importoptionen erlauben keinen Austausch |
| | | NOTE_CACHE_PRELOAD_STARTED_550=Das Vorladen des Datenbank-Cache f\u00fcr Backend %s wurde gestartet |
| | | NOTE_CACHE_DB_PRELOADED_551=Das Vorladen des Datenbank-Cache f\u00fcr Datenbank %s ist abgeschlossen |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=Das Vorladen des Datenbank-Cache f\u00fcr Backend %s wurde w\u00e4hrend des Vorladens der Datenbank %s aufgrund einer Zeit\u00fcberschreitung unterbrochen |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=Das Vorladen des Datenbank-Cache f\u00fcr Backend %s wurde w\u00e4hrend des Vorladens der Datenbank %s aufgrund einer Gr\u00f6\u00dfenbeschr\u00e4nkung unterbrochen |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=Das Vorladen des Datenbank-Cache f\u00fcr Backend %s wurde w\u00e4hrend des Vorladens der Datenbank %s unterbrochen |
| | | NOTE_CACHE_PRELOAD_DONE_555=Das Vorladen des Datenbank-Cache f\u00fcr Backend %s ist abgeschlossen |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=Der Datenbank-Cache umfasst nach dem Vorladen %d MB |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=Aufgrund von Bereinigungsaktivit\u00e4ten werden %s zus\u00e4tzliche Protokolldatei(en) eingeschlossen |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=Die \u00c4nderung an dem Attribut %s tritt erst in Kraft, wenn das Backend neu gestartet wird |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=Die f\u00fcr Konfigurationseintrag '%s' angegebene Zeichenkette '%s' der Datenbank-Protokollierebene ist ung\u00fcltig. Zul\u00e4ssige Werte sind OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST oder ALL. Beachten Sie, dass f\u00fcr diese Werte die Gro\u00df- und Kleinschreibung unterschieden wird |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=Fehler beim Versuch, komprimierte Schemainformationen in der Datenbank zu speichern. Das gelieferte Ergebnis war: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=Der Server konnte nach mehreren Versuchen keine komprimierten Schemainformationen in der Datenbank speichern |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=Das Backend-Datenbankverzeichnis '%s' ist nicht vorhanden |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=Durchgef\u00fchrte Pr\u00fcfpunkte: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=Bereinigungsdurchl\u00e4ufe: %d gel\u00f6schte Dateien: %d gelesene Eintr\u00e4ge: %d bereinigte IN-Knoten: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=Entfernung wird durchgef\u00fchrt. Durchl\u00e4ufe: %d entfernte Knoten: %d entfernte BIN-Knoten: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=Entfernung nach dem Import von %d Eintr\u00e4gen erkannt |
| | | ERR_CONFIG_JEB_CACHE_SIZE_TOO_SMALL_569=Konfigurationsattribut ds-cfg-db-cache-size besitzt einen Wert von %d, das ist weniger als das Minimum: %d |
| | | ERR_CONFIG_JEB_DURABILITY_CONFLICT_570=Konfigurationsattribute ds-cfg-db-txn-no-sync und ds-cfg-db-txn-write-no-sync k\u00f6nnen unabh\u00e4ngig voneinander angegeben werden und k\u00f6nnen nicht gleichzeitig eingestellt werden |
| | | WARN_OUT_OF_DISK_SPACE_571=Es steht nicht ausreichend Speicherplatz auf dem Laufwerk zur Verf\u00fcgung, als dass die Datenbank den Schreibvorgang vornehmen kann |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=Backup konnte nicht in '%s' gefunden werden. Es wird eine vollst\u00e4ndige Sicherung ausgef\u00fchrt |
| | |
| | | ERR_RECURRINGTASK_INVALID_MONTH_TOKEN_SIMPLE_423=El valor de programaci\u00f3n de la tarea peri\u00f3dica proporcionado tiene un token de mes del a\u00f1o no v\u00e1lido |
| | | ERR_RECURRINGTASK_INVALID_WEEKDAY_TOKEN_SIMPLE_424=El valor de programaci\u00f3n de la tarea peri\u00f3dica proporcionado tiene un token de d\u00eda de la semana no v\u00e1lido |
| | | ERR_SCHEMA_INVALID_REPLACE_MODIFICATION_425=El servidor de fondo del esquema no admite el tipo de modificaci\u00f3n Replace por el tipo de atributo %s |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=El atributo '%s' no puede tener un tipo de \u00edndice extensible para el nombre de regla de coincidencia no v\u00e1lido '%s' |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=La memoria libre es insuficiente (%d bytes) para realizar una importaci\u00f3n. Se requiere un m\u00ednimo de %d bytes de memoria libre |
| | | WARN_IMPORT_LDIF_LACK_MEM_PHASE_TWO_439=La memoria es insuficiente (%d bytes) para realizar la fase 2 de la importaci\u00f3n en un solo lote. Se importar\u00e1n algunos \u00edndices en varios lotes, lo que puede disminuir el rendimiento |
| | | |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=El atributo '%s' no puede realizar la indexaci\u00f3n del tipo '%s' porque carece de la regla de coincidencia correspondiente |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=No se puede procesar la solicitud de vista de la lista virtual porque la posici\u00f3n de inicio del destino tuvo lugar antes de iniciar el conjunto de resultados |
| | | ERR_MISSING_DN2ID_RECORD_442=La base de datos de ND no contiene un registro para '%s' |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=La base de datos de entradas no contiene un registro para el Id. %s |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=No se puede examinar la entrada con el Id. %s con fines de ordenaci\u00f3n: %s |
| | | ERR_EXECUTION_ERROR_445=Error de ejecuci\u00f3n durante la operaci\u00f3n de backend: %s |
| | | ERR_INTERRUPTED_ERROR_446=Error de interrupci\u00f3n durante la operaci\u00f3n de backend: %s |
| | | ERR_CREATE_FAIL_447=No pudo crearse el directorio de la base de datos de backend: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=Esta plataforma no admite la definici\u00f3n de permisos de archivo %s para el directorio de base de datos %s |
| | | WARN_SET_PERMISSIONS_FAILED_449=Se ha producido un error al definir los permisos de archivo para el directorio de la base de datos de backend %s: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=El cambio al directorio de la base de datos no tendr\u00e1 efecto hasta que se haya reiniciado el servidor de fondo. Los archivos de la base de datos del directorio anterior %s se deben mover al nuevo directorio %s tras cerrar el servidor de fondo para conservar los datos existentes |
| | | ERR_DIRECTORY_INVALID_451=El directorio de la base de datos de backend '%s' no es un directorio v\u00e1lido |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=La entrada '%s' no se puede agregar porque ya existe una entrada con ese nombre |
| | | ERR_ADD_NO_SUCH_OBJECT_454=La entrada '%s' no se puede agregar porque no existe |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=No se ha configurado ning\u00fan \u00edndice para el tipo de atributo '%s' |
| | | ERR_CACHE_PRELOAD_456=Se ha producido un error al precargar la memoria cach\u00e9 de base de datos para el backend %s: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=Se ha producido un error al tratar de descodificar un token de descripci\u00f3n de atributos desde las definiciones de esquema comprimido JE: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=Se ha producido un error al tratar de descodificar un token de conjunto de clases de objeto desde las definiciones de esquema comprimido JE: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=Se ha producido un error al tratar de almacenar la informaci\u00f3n de esquema comprimido en la base de datos: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=Se ha producido un error al analizar el filtro de b\u00fasqueda %s definido para el \u00edndice VLV %s: %s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=El atributo de ordenaci\u00f3n %s para el \u00edndice VLV %s no est\u00e1 definido en el esquema de servidor |
| | | ERR_DATABASE_EXCEPTION_462=Excepci\u00f3n de base de datos: %s |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN_463=Un complemento ha anulado la operaci\u00f3n de eliminaci\u00f3n al eliminar una entrada subordinada %s |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=La entrada '%s' no se puede eliminar porque tiene entradas subordinadas |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=La entrada '%s' no se puede eliminar porque no existe |
| | | ERR_ENTRY_CONTAINER_ALREADY_REGISTERED_466=Ya se ha registrado un contenedor de entradas denominado '%s' para el ND de base '%s' |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=La base de datos de entradas no contiene un registro v\u00e1lido para el Id. %s |
| | | ERR_EXPORT_IO_ERROR_468=Se ha producido un error de E/S al exportar la entrada: %s |
| | | ERR_IMPORT_BACKEND_ONLINE_469=Debe inhabilitarse el backend antes de poder iniciar el proceso de importaci\u00f3n |
| | | ERR_IMPORT_BUFFER_IO_ERROR_470=Se ha producido un error de E/S al leer el archivo temporal del \u00edndice %s en el directorio temporal |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=No se puede crear el directorio temporal %s |
| | | ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR_472=Se ha recibido el siguiente error al procesar la tarea Anexar y reemplazar: %s |
| | | ERR_IMPORT_LDIF_IMPORT_TASK_ERR_473=Se ha recibido el siguiente error al procesar la tarea de importaci\u00f3n: %s |
| | | ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR_474=Se ha recibido el siguiente error de E/S al escribir el archivo temporal del \u00edndice %s en el directorio temporal: %s |
| | | ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR_475=Se ha recibido el siguiente error al procesar el \u00edndice de %s: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR_476=Se ha recibido el siguiente error al procesar la tarea Migrar excluido: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR_477=Se ha recibido el siguiente error al procesar la tarea Migrar existente: %s |
| | | ERR_IMPORT_LDIF_PENDING_ERR_478=Se ha recibido el siguiente error al realizar una comprobaci\u00f3n de ND pendiente: %s |
| | | ERR_IMPORT_LDIF_READER_IO_ERROR_479=Se ha producido un error de E/S al abrir la secuencia LDIF |
| | | ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR_480=Se ha recibido el siguiente error al procesar la tarea de reconstrucci\u00f3n de \u00edndice: %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=La entrada principal '%s' no existe |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=El registro de entrada no es compatible con esta versi\u00f3n de la base de datos de backend. Versi\u00f3n de la entrada: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=Se ha producido un error al leer desde el \u00edndice %s. Parece que el \u00edndice est\u00e1 da\u00f1ado y actualmente est\u00e1 funcionando en un estado degradado. Debe reconstruirse el \u00edndice para que pueda funcionar con normalidad |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=No se ha reconocido el siguiente valor de cookie de control de resultados: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=Un complemento ha hecho que se anule la operaci\u00f3n de modificaci\u00f3n de ND mientras mueve o cambia el nombre de una entrada de %s a %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=Un complemento ha hecho que se anule la operaci\u00f3n de modificaci\u00f3n de ND mientras mueve o cambia el nombre de una entrada de %s a %s porque el cambio en esa entrada ha violado la configuraci\u00f3n del esquema del servidor: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=El nombre de la entrada no se puede cambiar a '%s' porque ya existe una entrada con ese nombre |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=El nombre de la entrada '%s' no se puede cambiar porque no existe |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=La entrada '%s' no se puede modificar porque no existe |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=La entrada no se puede mover porque la nueva entrada principal '%s' no existe |
| | | ERR_OPEN_ENV_FAIL_493=No pudo abrirse el entorno de base de datos: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=Para realizar la reconstrucci\u00f3n de \u00edndice(s), debe inhabilitarse el backend que contenga el ND de base |
| | | ERR_REMOVE_FAIL_495=No pudieron eliminarse los archivos de la base de datos de backend: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=La operaci\u00f3n de b\u00fasqueda solicitada inclu\u00eda el control de resultados paginados sencillos y el control de vista de lista virtual. Estos controles son mutuamente exclusivos y no se pueden utilizar de forma conjunta |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=Los resultados de la b\u00fasqueda no se pueden almacenar porque no se ha indexado la solicitud de b\u00fasqueda proporcionada |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=La entrada de la base de datos '%s' no existe |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=No tiene suficientes privilegios para realizar una b\u00fasqueda sin indexar |
| | | ERR_UNCHECKED_EXCEPTION_500=No se ha activado la excepci\u00f3n durante la transacci\u00f3n de la base de datos: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=No hay ning\u00fan \u00edndice de VLV configurado con el nombre '%s' |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=El promedio de entradas al que se hace referencia es %.2f/registro |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=Memoria libre = %d MB, tasa de faltas de la cach\u00e9 = %.1f/registro |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=N\u00famero de registros que superan el l\u00edmite de entrada: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=Estad\u00edstica para los registros que han superado el l\u00edmite de entrada: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=El archivo %s tiene %d de dicho(s) registro(s) m\u00edn.=%d m\u00e1x.=%d mediana=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=El n\u00famero m\u00e1ximo de entradas al que hace referencia cualquier registro es %d |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=N\u00famero de registros que hacen referencia a m\u00e1s de una entrada: %d |
| | | NOTE_BACKEND_STARTED_513=Se ha iniciado el servidor de fondo de la base de datos %s que contiene %d entradas |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=Algunas claves de \u00edndice ya han superado el l\u00edmite de entrada del \u00edndice anterior en el \u00edndice %s. Este \u00edndice debe reconstruirse antes de que se pueda utilizar el nuevo l\u00edmite |
| | | NOTE_EXPORT_FINAL_STATUS_515=Se han exportado %d entradas y omitido %d en %d segundos (velocidad media %.1f/s) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=Se han exportado %d registros y omitido %d (velocidad reciente %.1f/s) |
| | | NOTE_IMPORT_ADJUST_THREAD_COUNT_517=La memoria es insuficiente para asignar suficientes b\u00faferes de fase uno para su uso por %d subprocesos. Reduciendo el n\u00famero de subprocesos empleados a %d |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=Vaciando datos en el disco |
| | | NOTE_IMPORT_FINAL_STATUS_519=Se han procesado %d entradas, importado %d, omitido %d, rechazado %d y migrado %d en %d segundos (velocidad media %.1f/s) |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=Definiendo el tama\u00f1o de memoria cach\u00e9 de DB en %d bytes y el tama\u00f1o del b\u00fafer de fase uno en %d |
| | | NOTE_IMPORT_LDIF_DN_CLOSE_521=Procesamiento de fase dos de ND completado. %d ND procesados |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=Procesamiento de fase dos de \u00edndice %s completado |
| | | NOTE_IMPORT_LDIF_INDEX_STARTED_523=La fase dos del \u00edndice %s ha comenzado el procesamiento de %d b\u00faferes en %d lotes |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT_524=La memoria disponible para el procesamiento de fase dos es de %d bytes. El tama\u00f1o de la memoria cach\u00e9 de lectura anticipada es de %d bytes calculado con el empleo de %d b\u00faferes |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=\u00cdndice %s %d%% completo: pendiente = %d kb, velocidad = %d kb/s; lote %d/%d |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=El cierre del entorno LDIF de importaci\u00f3n tard\u00f3 %d segundos |
| | | NOTE_IMPORT_LDIF_TMP_ENV_MEM_527=La cantidad de memoria disponible para el entorno de la memoria cach\u00e9 de ND temporal es de %d bytes |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=La cantidad de memoria libre disponible para la tarea de importaci\u00f3n es de %d bytes. El n\u00famero de b\u00faferes requeridos de fase uno es %d b\u00faferes |
| | | NOTE_IMPORT_LDIF_TRUSTED_FAILED_529=La configuraci\u00f3n de \u00edndices de confianza ha fallado por la siguiente raz\u00f3n: %s |
| | | NOTE_IMPORT_MIGRATION_START_530=Migrando %s entradas para el ND de base %s |
| | | NOTE_IMPORT_PHASE_STATS_531=El tiempo total de importaci\u00f3n fue de %d segundos El procesamiento de fase uno se ha completado en %d segundos; el procesamiento de fase dos, en %d segundos |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=Se han procesado %d entradas, omitido %d y rechazado %d (velocidad reciente %.1f/s) |
| | | NOTE_IMPORT_STARTING_533=%s iniciando importaci\u00f3n (generaci\u00f3n %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=Importar total de subprocesos: %d subprocesos |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=Debido a cambios producidos en la configuraci\u00f3n, el \u00edndice %s est\u00e1 operando actualmente en un estado degradado y debe reconstruirse antes de que se pueda utilizar |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=Esta operaci\u00f3n de b\u00fasqueda ha comprobado el m\u00e1ximo de %d entradas que coinciden |
| | | NOTE_REBUILD_ALL_START_537=La reconstrucci\u00f3n de todos los \u00edndices comenz\u00f3 con %d entradas totales para procesar |
| | | NOTE_REBUILD_FINAL_STATUS_540=Se ha completado la reconstrucci\u00f3n. Se han procesado %d entradas en %d segundos (velocidad media %.1f/s) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% completado(s). Se han procesado %d/%d entradas. (velocidad reciente %.1f/s) |
| | | NOTE_REBUILD_START_542=La reconstrucci\u00f3n de \u00edndice(s) %s se inici\u00f3 con %d entradas totales para procesar |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=Una entrada de referencia %s indica que la operaci\u00f3n se debe procesar en un servidor diferente |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=Se han comprobado %d registros y encontrado %d error(es) en %d segundos (velocidad media %.1f/s) |
| | | NOTE_VERIFY_FINAL_STATUS_545=Se han comprobado %d entradas y encontrado %d error(es) en %d segundos (velocidad media %.1f/s) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=Se han procesado %d de %d registros y encontrado %d error(es) (velocidad reciente %.1f/s) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=Este backend no admite la operaci\u00f3n solicitada |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=No se puede determinar el n\u00famero total de entradas en el contenedor: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=La entrada ya existe y las opciones de importaci\u00f3n no permiten reemplazarla |
| | | NOTE_CACHE_PRELOAD_STARTED_550=Se ha iniciado la precarga de la memoria cach\u00e9 de la base de datos del servidor de fondo %s |
| | | NOTE_CACHE_DB_PRELOADED_551=Se ha completado la precarga de la memoria cach\u00e9 de la base de datos del servidor de fondo %s |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=Se ha interrumpido la precarga de la memoria cach\u00e9 de la base de datos %2$s del servidor de fondo %1$s debido al l\u00edmite de tiempo |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=Se ha interrumpido la precarga de la memoria cach\u00e9 de la base de datos del servidor de fondo %s durante la precarga de la base de datos %s debido al l\u00edmite de tama\u00f1o |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=Se ha interrumpido la precarga de la memoria cach\u00e9 de la base de datos del servidor de fondo %s durante la precarga de la base de datos %s |
| | | NOTE_CACHE_PRELOAD_DONE_555=Se ha completado la precarga de la memoria cach\u00e9 de la base de datos para el servidor de fondo %s |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=La memoria cach\u00e9 de la base de datos es de %d MB tras la precarga |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=Incluyendo %s archivo(s) de registro adicional(es) debido a la actividad del depurador |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=El cambio en el atributo %s no tendr\u00e1 efecto hasta que se reinicie el servidor de fondo |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=La cadena de nivel de registro de base de datos '%s' proporcionada para la entrada de configuraci\u00f3n '%s' no es v\u00e1lida. Debe emplearse uno de los siguientes valores: OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST o ALL. Tenga en cuenta que con estos valores se distingue entre may\u00fasculas y min\u00fasculas |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=Se ha producido un error al tratar de almacenar la informaci\u00f3n de esquema comprimido en la base de datos. El resultado devuelto fue el siguiente: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=El servidor no pudo almacenar la informaci\u00f3n de esquema comprimido en la base de datos tras varios intentos |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=El directorio de la base de datos de backend '%s' no existe |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=Puntos de comprobaci\u00f3n realizados: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=El depurador se ejecuta: %d archivos eliminados: %d entradas le\u00eddas: %d nodos IN limpiados: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=Expulsi\u00f3n en curso. Pasadas: %d nodos expulsados: %d nodos BIN descubiertos: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=Se ha detectado una expulsi\u00f3n tras importar %d entradas |
| | | ERR_CONFIG_JEB_CACHE_SIZE_TOO_SMALL_569=El atributo de configuraci\u00f3n ds-cfg-db-cache-size tiene un valor de %d que es inferior al m\u00ednimo: %d |
| | | ERR_CONFIG_JEB_DURABILITY_CONFLICT_570=Los atributos de configuraci\u00f3n ds-cfg-db-txn-no-sync y ds-cfg-db-txn-write-no-sync se excluyen mutuamente y no pueden definirse al mismo tiempo |
| | | WARN_OUT_OF_DISK_SPACE_571=No hay suficiente espacio libre en el disco para que la base de datos realice la operaci\u00f3n de escritura |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=No se puede encontrar ninguna copia de seguridad en '%s'. Se ejecutar\u00e1 una copia de seguridad completa |
| | |
| | | ERR_RECURRINGTASK_INVALID_MONTH_TOKEN_SIMPLE_423=La valeur propos\u00e9e pour la planification de la t\u00e2che r\u00e9currente, comporte un token de mois de l'ann\u00e9e non valide |
| | | ERR_RECURRINGTASK_INVALID_WEEKDAY_TOKEN_SIMPLE_424=La valeur propos\u00e9e pour la planification de la t\u00e2che r\u00e9currente, comporte un token de jour de semaine non valide |
| | | ERR_SCHEMA_INVALID_REPLACE_MODIFICATION_425=Le backend de sch\u00e9ma ne prend actuellement pas en charge la modification de type Replace pour le type d'attribut %s |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=L'attribut '%s' ne peut pas avoir un index extensible pour le nom de r\u00e8gle de correspondance non valide '%s' |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=M\u00e9moire disponible insuffisante (%d\u00a0octets) pour r\u00e9aliser l'importation. Vous devez disposer d'au moins %d\u00a0octets de m\u00e9moire disponible |
| | | WARN_IMPORT_LDIF_LACK_MEM_PHASE_TWO_439=M\u00e9moire libre insuffisante (%d bytes) pour effectuer l'importation de la phase 2 en un seul lot. Certains index seront import\u00e9s via plusieurs lots. Ceci peut r\u00e9duire les performances |
| | | |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=L'attribut '%s' ne peut pas avoir une indexation de type '%s' car il ne correspond \u00e0 aucune r\u00e8gle de correspondance |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=Impossible de traiter la requ\u00eate d'affichage de liste virtuelle car la position de d\u00e9marrage de cible est situ\u00e9e avant le d\u00e9but de l'ensemble de r\u00e9sultats |
| | | ERR_MISSING_DN2ID_RECORD_442=La base de donn\u00e9es de DN ne contient aucun enregistrement pour '%s' |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=La base de donn\u00e9es d'entr\u00e9es ne contient aucun enregistrement pour l'ID %s |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=Impossible d'examiner l'entr\u00e9e portant l'ID %s en vue du tri\u00a0: %s |
| | | ERR_EXECUTION_ERROR_445=Erreur d'ex\u00e9cution lors de l'op\u00e9ration de backend\u00a0: %s |
| | | ERR_INTERRUPTED_ERROR_446=Erreur d'interruption lors de l'op\u00e9ration de backend\u00a0: %s |
| | | ERR_CREATE_FAIL_447=Impossible de cr\u00e9er le r\u00e9pertoire de base de donn\u00e9es du backend\u00a0: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=Cette plate-forme ne prend pas en charge la d\u00e9finition de permissions de fichier %s sur le r\u00e9pertoire de base de donn\u00e9es %s |
| | | WARN_SET_PERMISSIONS_FAILED_449=Une erreur s'est produite lors de la d\u00e9finition des permissions de fichier pour le r\u00e9pertoire de base de donn\u00e9es de backend %s\u00a0: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=Les modifications du r\u00e9pertoire de base de donn\u00e9es prennent effet au red\u00e9marrage du backend. Les fichiers de base de donn\u00e9es du r\u00e9pertoire pr\u00e9c\u00e9dent %s doivent \u00eatre d\u00e9plac\u00e9s vers le nouveau r\u00e9pertoire %s apr\u00e8s l'arr\u00eat du backend afin de conserver les donn\u00e9es existantes |
| | | ERR_DIRECTORY_INVALID_451=Le r\u00e9pertoire de base de donn\u00e9es de backend '%s' n'est pas un r\u00e9pertoire valide |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=Impossible d'ajouter l'entr\u00e9e %s car une entr\u00e9e du m\u00eame nom existe d\u00e9j\u00e0 |
| | | ERR_ADD_NO_SUCH_OBJECT_454=Impossible d'ajouter l'entr\u00e9e '%s' car son entr\u00e9e parente n'existe pas |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=Aucun index n'est configur\u00e9 pour le type d'attribut '%s' |
| | | ERR_CACHE_PRELOAD_456=Une erreur s'est produite lors du pr\u00e9chargement du cache de base de donn\u00e9es pour le backend %s\u00a0: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=Une erreur s'est produite lors de la tentative de d\u00e9codage d'un jeton de description d'attribut \u00e0 partir des d\u00e9finitions de sch\u00e9ma compress\u00e9es JE\u00a0: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=Une erreur s'est produite lors de la tentative de d\u00e9codage d'un jeton d'ensemble de classes d'objet \u00e0 partir des d\u00e9finitions de sch\u00e9ma compress\u00e9es JE\u00a0: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=Une erreur s'est produite lors de la tentative de stockage des informations de sch\u00e9ma compress\u00e9es dans la base de donn\u00e9es\u00a0: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=Une erreur s'est produite lors de l'analyse du filtre de recherche %s d\u00e9fini pour l'index VLV %s\u00a0: %s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=L'attribut de tri %s de l'index VLV %s n'est pas d\u00e9fini dans le sch\u00e9ma de serveur |
| | | ERR_DATABASE_EXCEPTION_462=Exception de base de donn\u00e9es\u00a0: %s |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN_463=Un plug-in a provoqu\u00e9 l'interruption de l'op\u00e9ration de suppression lors de la suppression d'une entr\u00e9e subordonn\u00e9e %s |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=Impossible de supprimer l'entr\u00e9e '%s' car elle poss\u00e8de une entr\u00e9e subordonn\u00e9e |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=Impossible de supprimer l'entr\u00e9e '%s' car elle n'existe pas |
| | | ERR_ENTRY_CONTAINER_ALREADY_REGISTERED_466=Un conteneur d'entr\u00e9es nomm\u00e9 '%s' est d\u00e9j\u00e0 enregistr\u00e9 pour le DN de base '%s' |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=La base de donn\u00e9es d'entr\u00e9es ne contient aucun enregistrement valide pour l'ID %s |
| | | ERR_EXPORT_IO_ERROR_468=Une erreur d'E/S s'est produite lors de l'exportation de l'entr\u00e9e\u00a0: %s |
| | | ERR_IMPORT_BACKEND_ONLINE_469=Vous devez d\u00e9sactiver le backend avant de lancer le processus d'importation |
| | | ERR_IMPORT_BUFFER_IO_ERROR_470=Une erreur d'E/S s'est produite lors de la lecture du fichier de travail de l'index %s dans le r\u00e9pertoire temporaire |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=Impossible de cr\u00e9er le r\u00e9pertoire temporaire %s |
| | | ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR_472=L'erreur suivante s'est produite lors du traitement de la t\u00e2che d'ajout et remplacement\u00a0: %s |
| | | ERR_IMPORT_LDIF_IMPORT_TASK_ERR_473=L'erreur suivante s'est produite lors du traitement de la t\u00e2che d'importation\u00a0: %s |
| | | ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR_474=L'erreur d'E/S suivante est survenue lors de l'\u00e9criture du fichier de travail de l'index %s dans le r\u00e9pertoire temporaire\u00a0: %s |
| | | ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR_475=L'erreur suivante s'est produite lors du traitement de l'index %s\u00a0: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR_476=L'erreur suivante s'est produite lors du traitement de la t\u00e2che de migration des \u00e9l\u00e9ments exclus\u00a0: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR_477=L'erreur suivante s'est produite lors du traitement de la t\u00e2che de migration des \u00e9l\u00e9ments existants\u00a0: %s |
| | | ERR_IMPORT_LDIF_PENDING_ERR_478=L'erreur suivante s'est produite lors de l'ex\u00e9cution d'une v\u00e9rification des DN en attente\u00a0: %s |
| | | ERR_IMPORT_LDIF_READER_IO_ERROR_479=Une erreur d'E/S s'est produite lors de l'ouverture du flux LDIF |
| | | ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR_480=L'erreur suivante s'est produite lors du traitement de la t\u00e2che de reconstruction de l'index\u00a0: %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=L'entr\u00e9e '%s' parente n'existe pas |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=Enregistrement d'entr\u00e9e incompatible avec cette version de la base de donn\u00e9es de backend. Version de l'entr\u00e9e\u00a0: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=Une erreur s'est produite lors de la lecture dans l'index %s. L'index semble corrompu et son fonctionnement se d\u00e9grade. Vous devez reconstruire l'index pour r\u00e9tablir son fonctionnement normal |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=La valeur de cookie de contr\u00f4le des r\u00e9sultats pagin\u00e9s suivante n'est pas reconnue\u00a0: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=Un plug-in a entra\u00een\u00e9 l'arr\u00eat de l'op\u00e9ration de modification de DN lors du d\u00e9placement et/ou du renommage d'une entr\u00e9e de %s en %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=Un plug-in a entra\u00een\u00e9 l'arr\u00eat de l'op\u00e9ration de modification de DN lors du d\u00e9placement et/ou du renommage d'une entr\u00e9e de %s en %s car la modification de cette entr\u00e9e ne respecte pas la configuration du sch\u00e9ma de serveur\u00a0: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=Impossible de renommer l'entr\u00e9e %s car une entr\u00e9e du m\u00eame nom existe d\u00e9j\u00e0 |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=Impossible de renommer l'entr\u00e9e '%s' car elle n'existe pas |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=Impossible de modifier l'entr\u00e9e '%s' car elle n'existe pas |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=Impossible de supprimer l'entr\u00e9e car la nouvelle entr\u00e9e '%s' parente n'existe pas |
| | | ERR_OPEN_ENV_FAIL_493=Impossible d'ouvrir l'environnement de base de donn\u00e9es\u00a0: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=La reconstruction des index syst\u00e8me doit \u00eatre r\u00e9alis\u00e9e en d\u00e9sactivant le backend contenant le DN de base |
| | | ERR_REMOVE_FAIL_495=Impossible de supprimer les fichiers de base de donn\u00e9es du backend\u00a0: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=L'op\u00e9ration de recherche demand\u00e9e inclut le contr\u00f4le de r\u00e9sultats pagin\u00e9s et le contr\u00f4le d'affichage de liste virtuelle. Ces contr\u00f4les sont mutuellement exclusifs et ne peuvent pas \u00eatre utilis\u00e9s simultan\u00e9ment |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=Impossible de traiter les r\u00e9sultats de recherche car la requ\u00eate de recherche donn\u00e9e n'est pas index\u00e9e |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=La base de recherche '%s' n'existe pas |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=Vous ne disposez pas des privil\u00e8ges suffisants pour lancer une recherche non index\u00e9e |
| | | ERR_UNCHECKED_EXCEPTION_500=Exception non v\u00e9rifi\u00e9e lors de la transaction de base de donn\u00e9es\u00a0: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=Aucun index de VLV n'est configur\u00e9 avec le nom '%s' |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=Le nombre moyen d'entr\u00e9es r\u00e9f\u00e9renc\u00e9 est %.2f/enregistrement |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=M\u00e9moire libre = %d Mo, taux d'\u00e9chec d'acc\u00e8s au cache = %.1f/enregistrement |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=Nombre d'enregistrements d\u00e9passant la limite d'entr\u00e9e\u00a0: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=Statistiques pour les enregistrements ayant d\u00e9pass\u00e9 la limite d'entr\u00e9e\u00a0: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=Le fichier %s poss\u00e8de %d enregistrements de ce type min=%d max=%d m\u00e9dian=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=Le nombre maximum d'entr\u00e9es r\u00e9f\u00e9renc\u00e9 par les enregistrements est %d |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=Nombre d'enregistrements r\u00e9f\u00e9ren\u00e7ant plus d'une entr\u00e9e\u00a0: %d |
| | | NOTE_BACKEND_STARTED_513=D\u00e9marrage du backend de base de donn\u00e9es %s contenant %d entr\u00e9es |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=Certaines cl\u00e9s d'index ont d\u00e9j\u00e0 d\u00e9pass\u00e9 la limite d'entr\u00e9e pr\u00e9c\u00e9dente dans l'index %s. Cet index doit \u00eatre reconstitu\u00e9 avant qu'il ne puisse utiliser la nouvelle limite |
| | | NOTE_EXPORT_FINAL_STATUS_515=Entr\u00e9es\u00a0: %d export\u00e9es et %d ignor\u00e9es en %d secondes (taux moyen %.1f/sec) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=Enregistrements\u00a0: %d export\u00e9s et %d ignor\u00e9s (taux r\u00e9cent %.1f/sec) |
| | | NOTE_IMPORT_ADJUST_THREAD_COUNT_517=M\u00e9moire insuffisante pour allouer un nombre suffisant de tampons de phase un pour %d\u00a0threads. R\u00e9duction du nombre de threads utilis\u00e9s \u00e0 %d |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=Vidage des donn\u00e9es vers le disque |
| | | NOTE_IMPORT_FINAL_STATUS_519=Entr\u00e9es\u00a0: %d trait\u00e9es, %d import\u00e9es, %d ignor\u00e9es, %d rejet\u00e9es et %d migr\u00e9es en %d secondes (taux moyen %.1f/sec) |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=D\u00e9finition de la taille du cache de la base de donn\u00e9es sur %d octets et de la taille du tampon de phase 1 sur %d octets |
| | | NOTE_IMPORT_LDIF_DN_CLOSE_521=Fin du traitement de la phase 2 du DN. DN %d trait\u00e9s |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=Fin du traitement de la phase 2 de l'index %s |
| | | NOTE_IMPORT_LDIF_INDEX_STARTED_523=La phase deux de l'index %s a commenc\u00e9 le traitement des tampons %d dans les lots %d |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT_524=La m\u00e9moire disponible pour le traitement de phase deux est de %d\u00a0octets. La taille du cache de lecture anticip\u00e9e est de %d octets, calcul\u00e9e avec %d tampons |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=Index %s %d%% termin\u00e9 : restant = %d kb, taux = %d kb/s\u00a0; lot %d/%d |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=La fermeture de l'environnement LDIF d'importation a dur\u00e9 %d secondes |
| | | NOTE_IMPORT_LDIF_TMP_ENV_MEM_527=La quantit\u00e9 de m\u00e9moire disponible pour l'environnement de cache de DN temporaire est de %d\u00a0octets |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=La quantit\u00e9 de m\u00e9moire disponible pour la t\u00e2che d'importation est de %d\u00a0octets. Le nombre de tampons de phase 1 requis est %d |
| | | NOTE_IMPORT_LDIF_TRUSTED_FAILED_529=La d\u00e9finition des index approuv\u00e9s a \u00e9chou\u00e9 pour la raison suivante : %s |
| | | NOTE_IMPORT_MIGRATION_START_530=Migration de %s entr\u00e9es pour le DN de base %s |
| | | NOTE_IMPORT_PHASE_STATS_531=Dur\u00e9e totale de l'importation\u00a0: %d\u00a0secondes. Traitement de phase un achev\u00e9 en %d\u00a0secondes, traitement de phase deux achev\u00e9 en %d\u00a0secondes |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=Entr\u00e9es\u00a0: %d trait\u00e9es, %d ignor\u00e9es et %d rejet\u00e9es (taux r\u00e9cent %.1f/sec) |
| | | NOTE_IMPORT_STARTING_533=%s d\u00e9but de l'importation (version %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=Nombre de threads import\u00e9s\u00a0: %d threads |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=En raison des modifications apport\u00e9es \u00e0 la configuration, le fonctionnement de l'index %s se d\u00e9grade. Il doit \u00eatre reconstitu\u00e9 avant d'\u00eatre utilis\u00e9 |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=Cette op\u00e9ration de recherche a v\u00e9rifi\u00e9 le maximum d'entr\u00e9es %d \u00e0 des fins de correspondance |
| | | NOTE_REBUILD_ALL_START_537=Reconstruction de tous les index commenc\u00e9e par au total %d entr\u00e9es \u00e0 traiter |
| | | NOTE_REBUILD_FINAL_STATUS_540=Fin de la reconstitution. %d\u00a0entr\u00e9es trait\u00e9es en %d\u00a0secondes (taux moyen %.1f/s) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% termin\u00e9s. %d/%d entr\u00e9es trait\u00e9es. (taux r\u00e9cent %.1f/sec) |
| | | NOTE_REBUILD_START_542=Reconstruction des index %s d\u00e9marr\u00e9e, avec un nombre total de %d\u00a0entr\u00e9es \u00e0 traiter |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=Une entr\u00e9e de r\u00e9f\u00e9rence %s indique que l'op\u00e9ration doit \u00eatre trait\u00e9e sur un serveur diff\u00e9rent |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=Enregistrements\u00a0: %d v\u00e9rifi\u00e9s et %d erreurs trouv\u00e9es en %d secondes (taux moyen %.1f/sec) |
| | | NOTE_VERIFY_FINAL_STATUS_545=Entr\u00e9es\u00a0: %d v\u00e9rifi\u00e9s et %d erreurs trouv\u00e9es en %d secondes (taux moyen %.1f/sec) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=%d trait\u00e9s sur %d enregistrements et %d erreurs trouv\u00e9es (taux r\u00e9cent %.1f/sec) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=L'op\u00e9ration demand\u00e9e n'est pas prise en charge par ce backend |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=Impossible de d\u00e9terminer le nombre total d'entr\u00e9e dans le conteneur\u00a0: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=L'entr\u00e9e existe et les options d'importations interdisent son remplacement |
| | | NOTE_CACHE_PRELOAD_STARTED_550=D\u00e9marrage du pr\u00e9chargement de cache de base de donn\u00e9es pour le backend %s |
| | | NOTE_CACHE_DB_PRELOADED_551=Fin du pr\u00e9chargement de cache de base de donn\u00e9es pour la base de donn\u00e9es %s |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=Interruption du pr\u00e9chargement de cache de base de donn\u00e9es pour le backend %s lors du pr\u00e9chargement de la base de donn\u00e9es %s pour des raisons de limite de temps |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=Interruption du pr\u00e9chargement de cache de base de donn\u00e9es pour le backend %s lors du pr\u00e9chargement de la base de donn\u00e9es %s pour des raisons de limite de taille |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=Interruption du pr\u00e9chargement de cache de base de donn\u00e9es pour le backend %s lors du pr\u00e9chargement de la base de donn\u00e9es %s |
| | | NOTE_CACHE_PRELOAD_DONE_555=Fin du pr\u00e9chargement de cache de base de donn\u00e9es pour le backend %s |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=Le cache de base de donn\u00e9es est de %d Mo \u00e0 l'issue du pr\u00e9chargement |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=Incluant %s fichiers journaux suppl\u00e9mentaires en raison de l'activit\u00e9 de nettoyage |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=Les modifications de l'attribut %s prennent effet au red\u00e9marrage du backend |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=La cha\u00eene de niveau de journalisation de base de donn\u00e9es ('%s') fournie pour l'entr\u00e9e de configuration '%s' n'est pas valide. Les valeurs admises sont OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST ou ALL. Attention, ces valeurs respectent la casse |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=Une erreur s'est produite lors de la tentative de stockage des informations de sch\u00e9ma compress\u00e9es dans la base de donn\u00e9es. R\u00e9sultat obtenu\u00a0: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=Le serveur n'a pas pu stocker les informations de sch\u00e9ma compress\u00e9es dans la base de donn\u00e9es apr\u00e8s plusieurs tentatives |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=Le r\u00e9pertoire de base de donn\u00e9es de backend %s n'existe pas |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=Points de contr\u00f4le pratiqu\u00e9s\u00a0: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=Ex\u00e9cutions du nettoyage\u00a0: %d fichiers supprim\u00e9s\u00a0: %d entr\u00e9es lues\u00a0: %d IN n\u0153uds nettoy\u00e9s\u00a0: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=\u00c9viction en cours. Passes\u00a0: %d n\u0153uds exclus\u00a0: %d n\u0153uds BIN supprim\u00e9s\u00a0: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=D\u00e9tection d'\u00e9viction apr\u00e8s l'importation de %d entr\u00e9es |
| | | ERR_CONFIG_JEB_CACHE_SIZE_TOO_SMALL_569=L'attribut de configuration ds-cfg-db-cache-size a la valeur %d, qui est inf\u00e9rieure au minimum\u00a0: %d |
| | | ERR_CONFIG_JEB_DURABILITY_CONFLICT_570=Les attributs de configuration ds-cfg-db-txn-no-sync et ds-cfg-db-txn-write-no-sync sont mutuellement exclusifs, et vous ne pouvez pas les d\u00e9finir simultan\u00e9ment |
| | | WARN_OUT_OF_DISK_SPACE_571=L'espace libre disponible sur le disque est insuffisant pour effectuer l'op\u00e9ration d'\u00e9criture |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=Impossible de trouver une sauvegarde dans '%s' Une sauvegarde compl\u00e8te sera ex\u00e9cut\u00e9e |
| | |
| | | ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_LSD_416=LDAP \u69cb\u6587\u306e\u8aac\u660e %s \u3092\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u304b\u3089\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u3088\u3046\u306a LDAP \u69cb\u6587\u306e\u8aac\u660e\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | ERR_ATTR_SYNTAX_INVALID_LDAP_SYNTAX_417=\u6307\u5b9a\u3055\u308c\u305f\u5024 "%s" \u3092 LDAP \u69cb\u6587\u3068\u3057\u3066\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002OID %s \u304c\u3059\u3067\u306b\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u5c5e\u6027\u69cb\u6587\u306b\u5bfe\u5fdc\u3059\u308b\u305f\u3081\u3067\u3059 |
| | | ERR_SCHEMA_MODIFY_CANNOT_DECODE_LDAP_SYNTAX_418=LDAP \u69cb\u6587\u306e\u8aac\u660e "%s" \u306e\u5fa9\u53f7\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=\u30de\u30c3\u30c1\u30f3\u30b0\u30eb\u30fc\u30eb\u540d '%2$s' \u304c\u7121\u52b9\u306a\u305f\u3081\u3001\u5c5e\u6027 '%1$s' \u306b\u62e1\u5f35\u53ef\u80fd\u306a\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30bf\u30a4\u30d7\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093 |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f\u7a7a\u304d\u30e1\u30e2\u30ea\u30fc\u304c\u8db3\u308a\u307e\u305b\u3093 (%d \u30d0\u30a4\u30c8)\u3002\u5c11\u306a\u304f\u3068\u3082 %d \u30d0\u30a4\u30c8\u306e\u7a7a\u304d\u30e1\u30e2\u30ea\u30fc\u304c\u5fc5\u8981\u3067\u3059 |
| | | WARN_IMPORT_LDIF_LACK_MEM_PHASE_TWO_439=\u30a4\u30f3\u30dd\u30fc\u30c8\u30d5\u30a7\u30fc\u30ba 2 \u3092 1 \u3064\u306e\u30d0\u30c3\u30c1\u3067\u5b9f\u884c\u3059\u308b\u306b\u306f\u7a7a\u304d\u30e1\u30e2\u30ea\u30fc (%d \u30d0\u30a4\u30c8) \u304c\u8db3\u308a\u307e\u305b\u3093\u3002\u4e00\u90e8\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u8907\u6570\u306e\u30d0\u30c3\u30c1\u3092\u4f7f\u7528\u3057\u3066\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3059\u3002\u305d\u306e\u5834\u5408\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u4f4e\u4e0b\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059 |
| | | |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=\u5c5e\u6027 '%s' \u306b\u30bf\u30a4\u30d7 '%s' \u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4f5c\u6210\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002\u5bfe\u5fdc\u3059\u308b\u30de\u30c3\u30c1\u30f3\u30b0\u30eb\u30fc\u30eb\u304c\u3042\u308a\u307e\u305b\u3093 |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=\u4eee\u60f3\u30ea\u30b9\u30c8\u8868\u793a\u8981\u6c42\u3092\u51e6\u7406\u3067\u304d\u307e\u305b\u3093\u3002\u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u958b\u59cb\u4f4d\u7f6e\u304c\u7d50\u679c\u30bb\u30c3\u30c8\u306e\u5148\u982d\u3088\u308a\u524d\u306b\u3042\u308a\u307e\u3057\u305f |
| | | ERR_MISSING_DN2ID_RECORD_442=DN \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b '%s' \u306e\u30ec\u30b3\u30fc\u30c9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=\u30a8\u30f3\u30c8\u30ea\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b ID %s \u306e\u30ec\u30b3\u30fc\u30c9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=ID %s \u306e\u30a8\u30f3\u30c8\u30ea\u3092\u30bd\u30fc\u30c8\u76ee\u7684\u3067\u691c\u67fb\u3067\u304d\u307e\u305b\u3093: %s |
| | | ERR_EXECUTION_ERROR_445=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u64cd\u4f5c\u4e2d\u306b\u5b9f\u884c\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_INTERRUPTED_ERROR_446=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u64cd\u4f5c\u4e2d\u306b\u5272\u308a\u8fbc\u307f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_CREATE_FAIL_447=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %2$s \u3078\u306e\u30d5\u30a1\u30a4\u30eb\u30a2\u30af\u30bb\u30b9\u6a29 %1$s \u306e\u8a2d\u5b9a\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093 |
| | | WARN_SET_PERMISSIONS_FAILED_449=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u306b\u30d5\u30a1\u30a4\u30eb\u30a2\u30af\u30bb\u30b9\u6a29\u3092\u8a2d\u5b9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=DB \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5bfe\u3059\u308b\u5909\u66f4\u306f\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u518d\u8d77\u52d5\u3059\u308b\u307e\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u305b\u3093\u3002 \u65e2\u5b58\u306e\u30c7\u30fc\u30bf\u3092\u4fdd\u6301\u3059\u308b\u305f\u3081\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u505c\u6b62\u3057\u305f\u3042\u3068\u306b\u3001\u524d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u306e DB \u30d5\u30a1\u30a4\u30eb\u3092\u65b0\u3057\u3044\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u306b\u79fb\u52d5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 |
| | | ERR_DIRECTORY_INVALID_451=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea '%s' \u306f\u3001\u6709\u52b9\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093 |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=\u30a8\u30f3\u30c8\u30ea '%s' \u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u540d\u524d\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059 |
| | | ERR_ADD_NO_SUCH_OBJECT_454=\u30a8\u30f3\u30c8\u30ea '%s' \u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u89aa\u30a8\u30f3\u30c8\u30ea\u304c\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=\u5c5e\u6027\u578b '%s' \u7528\u306b\u69cb\u6210\u3055\u308c\u305f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3042\u308a\u307e\u305b\u3093 |
| | | ERR_CACHE_PRELOAD_456=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u30d7\u30ea\u30ed\u30fc\u30c9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=JE \u306e\u5727\u7e2e\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u5b9a\u7fa9\u304b\u3089\u5c5e\u6027\u8a18\u8ff0\u30c8\u30fc\u30af\u30f3\u3092\u30c7\u30b3\u30fc\u30c9\u4e2d\u306b\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=JE \u306e\u5727\u7e2e\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u5b9a\u7fa9\u304b\u3089\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30af\u30e9\u30b9\u30bb\u30c3\u30c8\u306e\u30c8\u30fc\u30af\u30f3\u3092\u30c7\u30b3\u30fc\u30c9\u4e2d\u306b\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=\u5727\u7e2e\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u60c5\u5831\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u683c\u7d0d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=VLV \u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %2$s \u306b\u5b9a\u7fa9\u3055\u308c\u305f\u691c\u7d22\u30d5\u30a3\u30eb\u30bf %1$s \u3092\u89e3\u6790\u4e2d\u306b\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %3$s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=VLV \u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %2$s \u306e\u30bd\u30fc\u30c8\u5c5e\u6027 %1$s \u304c\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | ERR_DATABASE_EXCEPTION_462=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u4f8b\u5916: %s |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN_463=\u4e0b\u4f4d\u30a8\u30f3\u30c8\u30ea %s \u3092\u524a\u9664\u4e2d\u306b\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u539f\u56e0\u3067\u524a\u9664\u64cd\u4f5c\u304c\u7570\u5e38\u7d42\u4e86\u3057\u307e\u3057\u305f |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=\u30a8\u30f3\u30c8\u30ea '%s' \u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u30a8\u30f3\u30c8\u30ea\u306b\u306f\u4e0b\u4f4d\u30a8\u30f3\u30c8\u30ea\u304c\u3042\u308a\u307e\u3059 |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=\u30a8\u30f3\u30c8\u30ea '%s' \u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_ENTRY_CONTAINER_ALREADY_REGISTERED_466='%s' \u3068\u3044\u3046\u540d\u524d\u306e\u30a8\u30f3\u30c8\u30ea\u30b3\u30f3\u30c6\u30ca\u306f\u3001\u30d9\u30fc\u30b9 DN '%s' \u306b\u3059\u3067\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u307e\u3059 |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=\u30a8\u30f3\u30c8\u30ea\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b ID %s \u306e\u6709\u52b9\u306a\u30ec\u30b3\u30fc\u30c9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | ERR_EXPORT_IO_ERROR_468=\u30a8\u30f3\u30c8\u30ea\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u4e2d\u306b I/O \u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_BACKEND_ONLINE_469=\u30a4\u30f3\u30dd\u30fc\u30c8\u51e6\u7406\u3092\u958b\u59cb\u3059\u308b\u306b\u306f\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u7121\u52b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 |
| | | ERR_IMPORT_BUFFER_IO_ERROR_470=\u4e00\u6642\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b9\u30af\u30e9\u30c3\u30c1\u30d5\u30a1\u30a4\u30eb %s \u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b I/O \u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=\u4e00\u6642\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093 |
| | | ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR_472=\u8ffd\u52a0\u304a\u3088\u3073\u7f6e\u63db\u30bf\u30b9\u30af\u306e\u51e6\u7406\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_IMPORT_TASK_ERR_473=\u30a4\u30f3\u30dd\u30fc\u30c8\u30bf\u30b9\u30af\u306e\u51e6\u7406\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR_474=%s \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b9\u30af\u30e9\u30c3\u30c1\u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u6642\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u6b21\u306e I/O \u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR_475=%s \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u51e6\u7406\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR_476=\u9664\u5916\u9805\u76ee\u306e\u79fb\u884c\u30bf\u30b9\u30af\u306e\u51e6\u7406\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR_477=\u65e2\u5b58\u9805\u76ee\u306e\u79fb\u884c\u30bf\u30b9\u30af\u306e\u51e6\u7406\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_PENDING_ERR_478=\u4fdd\u7559\u4e2d\u306e DN \u3092\u78ba\u8a8d\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_LDIF_READER_IO_ERROR_479=LDIF \u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u958b\u304f\u3068\u304d\u306b I/O \u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f |
| | | ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR_480=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u518d\u69cb\u7bc9\u30bf\u30b9\u30af\u306e\u51e6\u7406\u4e2d\u306b\u6b21\u306e\u30a8\u30e9\u30fc\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f: %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=\u89aa\u30a8\u30f3\u30c8\u30ea '%s' \u306f\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=\u30a8\u30f3\u30c8\u30ea\u30ec\u30b3\u30fc\u30c9\u306f\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u30a8\u30f3\u30c8\u30ea\u306e\u30d0\u30fc\u30b8\u30e7\u30f3: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s \u304b\u3089\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u58ca\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\u73fe\u5728\u3001\u6a5f\u80fd\u4f4e\u4e0b\u72b6\u614b\u3067\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u6b63\u5e38\u306a\u72b6\u614b\u306b\u623b\u3059\u306b\u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u518d\u69cb\u7bc9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=\u6b21\u306e\u7d50\u679c\u30da\u30fc\u30b8\u30f3\u30b0\u5236\u5fa1 Cookie \u5024\u304c\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=\u30a8\u30f3\u30c8\u30ea\u3092 %s \u304b\u3089 %s \u306b\u79fb\u52d5\u4e2d\u307e\u305f\u306f\u540d\u524d\u5909\u66f4\u4e2d\u306b\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u539f\u56e0\u3067 DN \u5909\u66f4\u64cd\u4f5c\u304c\u7570\u5e38\u7d42\u4e86\u3057\u307e\u3057\u305f |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=\u30a8\u30f3\u30c8\u30ea\u3092 %s \u304b\u3089 %s \u306b\u79fb\u52d5\u4e2d\u307e\u305f\u306f\u540d\u524d\u5909\u66f4\u4e2d\u306b\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u539f\u56e0\u3067 DN \u5909\u66f4\u64cd\u4f5c\u304c\u7570\u5e38\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u3078\u306e\u5909\u66f4\u304c\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u69cb\u6210\u306b\u9055\u53cd\u3057\u307e\u3057\u305f: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=\u30a8\u30f3\u30c8\u30ea\u306e\u540d\u524d\u3092 '%s' \u306b\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u540d\u524d\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059 |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=\u30a8\u30f3\u30c8\u30ea '%s' \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=\u30a8\u30f3\u30c8\u30ea '%s' \u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=\u30a8\u30f3\u30c8\u30ea\u3092\u79fb\u52d5\u3067\u304d\u307e\u305b\u3093\u3002\u65b0\u3057\u3044\u89aa\u30a8\u30f3\u30c8\u30ea '%s' \u304c\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_OPEN_ENV_FAIL_493=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u74b0\u5883\u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=\u30d9\u30fc\u30b9 DN \u3092\u542b\u3080\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u7121\u52b9\u306b\u3057\u305f\u5834\u5408\u306f\u3001\u30b7\u30b9\u30c6\u30e0\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u518d\u69cb\u7bc9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 |
| | | ERR_REMOVE_FAIL_495=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=\u8981\u6c42\u3055\u308c\u305f\u691c\u7d22\u64cd\u4f5c\u306b\u3001\u5358\u7d14\u306a\u30da\u30fc\u30b8\u30f3\u30b0\u306e\u7d50\u679c\u5236\u5fa1\u3068\u4eee\u60f3\u30ea\u30b9\u30c8\u8868\u793a\u5236\u5fa1\u306e\u4e21\u65b9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3057\u305f\u3002 \u3053\u308c\u3089\u306e\u5236\u5fa1\u306f\u76f8\u4e92\u306b\u6392\u4ed6\u7684\u3067\u3042\u308a\u3001\u4e00\u7dd2\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093 |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=\u691c\u7d22\u7d50\u679c\u3092\u30bd\u30fc\u30c8\u3067\u304d\u307e\u305b\u3093\u3002\u6307\u5b9a\u3055\u308c\u305f\u691c\u7d22\u8981\u6c42\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=\u691c\u7d22\u30d9\u30fc\u30b9\u30a8\u30f3\u30c8\u30ea '%s' \u306f\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u691c\u7d22\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093 |
| | | ERR_UNCHECKED_EXCEPTION_500=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u6642\u306b\u672a\u691c\u67fb\u306e\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=\u540d\u524d\u304c '%s' \u3067\u3042\u308b\u69cb\u6210\u3055\u308c\u305f VLV \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3042\u308a\u307e\u305b\u3093 |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=\u53c2\u7167\u3055\u308c\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u5e73\u5747\u6570\u306f %.2f \u500b/\u30ec\u30b3\u30fc\u30c9\u3067\u3059 |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=\u7a7a\u304d\u30e1\u30e2\u30ea\u30fc = %dM \u30d0\u30a4\u30c8\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u30df\u30b9\u30ec\u30fc\u30c8 = %.1f \u500b/\u30ec\u30b3\u30fc\u30c9 |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=\u30a8\u30f3\u30c8\u30ea\u5236\u9650\u3092\u8d85\u904e\u3057\u305f\u30ec\u30b3\u30fc\u30c9\u306e\u6570: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=\u30a8\u30f3\u30c8\u30ea\u5236\u9650\u3092\u8d85\u904e\u3057\u305f\u30ec\u30b3\u30fc\u30c9\u306e\u7d71\u8a08: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=\u30d5\u30a1\u30a4\u30eb %s \u306b %d \u500b\u306e\u8a72\u5f53\u30ec\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u3059 \u6700\u5c0f=%d \u6700\u5927=%d \u4e2d\u592e=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=\u30ec\u30b3\u30fc\u30c9\u306b\u3088\u3063\u3066\u53c2\u7167\u3055\u308c\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u6700\u5927\u6570\u306f %d \u500b\u3067\u3059 |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=\u8907\u6570\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u53c2\u7167\u3059\u308b\u30ec\u30b3\u30fc\u30c9\u306e\u6570: %d |
| | | NOTE_BACKEND_STARTED_513=%2$d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u308b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %1$s \u304c\u8d77\u52d5\u3057\u307e\u3057\u305f |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=\u4e00\u90e8\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30ad\u30fc\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s \u306e\u524d\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30a8\u30f3\u30c8\u30ea\u5236\u9650\u3092\u3059\u3067\u306b\u8d85\u904e\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u65b0\u3057\u3044\u5236\u9650\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u518d\u69cb\u7bc9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 |
| | | NOTE_EXPORT_FINAL_STATUS_515=%3$d \u79d2\u3067 %1$d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u3001%2$d \u500b\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3057\u305f (\u5e73\u5747\u30ec\u30fc\u30c8 %4$.1f \u500b/\u79d2) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=%d \u500b\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u3001%d \u500b\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3057\u305f (\u6700\u65b0\u306e\u30ec\u30fc\u30c8 %.1f \u500b/\u79d2) |
| | | NOTE_IMPORT_ADJUST_THREAD_COUNT_517=%d \u30b9\u30ec\u30c3\u30c9\u3067\u4f7f\u7528\u3059\u308b\u306e\u306b\u5341\u5206\u306a\u30d5\u30a7\u30fc\u30ba 1 \u30d0\u30c3\u30d5\u30a1\u30fc\u3092\u5272\u308a\u5f53\u3066\u308b\u306b\u306f\u3001\u30e1\u30e2\u30ea\u30fc\u304c\u8db3\u308a\u307e\u305b\u3093\u3002\u4f7f\u7528\u3059\u308b\u30b9\u30ec\u30c3\u30c9\u6570\u3092 %d \u306b\u6e1b\u3089\u3057\u3066\u304f\u3060\u3055\u3044 |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=\u30c7\u30fc\u30bf\u3092\u30c7\u30a3\u30b9\u30af\u306b\u30d5\u30e9\u30c3\u30b7\u30e5\u3057\u3066\u3044\u307e\u3059 |
| | | NOTE_IMPORT_FINAL_STATUS_519=%6$d \u79d2\u3067 %1$d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u51e6\u7406\u3057\u3001%2$d \u500b\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3001%3$d \u500b\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u3001%4$d \u500b\u3092\u62d2\u5426\u3057\u3001%5$d \u500b\u3092\u79fb\u884c\u3057\u307e\u3057\u305f (\u5e73\u5747\u30ec\u30fc\u30c8 %7$.1f \u500b/\u79d2) |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=DB \u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30a4\u30ba\u3092 %d \u30d0\u30a4\u30c8\u306b\u3001\u30d5\u30a7\u30fc\u30ba 1 \u306e\u30d0\u30c3\u30d5\u30a1\u30fc\u30b5\u30a4\u30ba\u3092 %d \u30d0\u30a4\u30c8\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 |
| | | NOTE_IMPORT_LDIF_DN_CLOSE_521=DN \u30d5\u30a7\u30fc\u30ba 2 \u306e\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002%d \u500b\u306e DN \u3092\u51e6\u7406\u3057\u307e\u3057\u305f |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s \u30d5\u30a7\u30fc\u30ba 2 \u306e\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f |
| | | NOTE_IMPORT_LDIF_INDEX_STARTED_523=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s \u30d5\u30a7\u30fc\u30ba 2 \u304c %d \u30d0\u30c3\u30d5\u30a1\u30fc (%d \u30d0\u30c3\u30c1) \u306e\u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3057\u305f |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT_524=\u30d5\u30a7\u30fc\u30ba 2 \u306e\u51e6\u7406\u306b\u4f7f\u7528\u53ef\u80fd\u306a\u30e1\u30e2\u30ea\u30fc\u306f %1$d \u30d0\u30a4\u30c8\u3067\u3059\u3002\u5148\u8aad\u307f\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30a4\u30ba\u306f\u3001%3$d \u30d0\u30c3\u30d5\u30a1\u30fc\u3092\u4f7f\u7528\u3057\u305f\u8a08\u7b97\u3067 %2$d \u30d0\u30a4\u30c8\u3067\u3059 |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s %d%% \u5b8c\u4e86: \u6b8b\u308a = %d kb\u3001\u901f\u5ea6 = %d kb/s\u3001\u30d0\u30c3\u30c1 %d/%d |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=LDIF \u30a4\u30f3\u30dd\u30fc\u30c8\u74b0\u5883\u3092\u9589\u3058\u308b\u305f\u3081\u306b %d \u79d2\u304b\u304b\u308a\u307e\u3057\u305f |
| | | NOTE_IMPORT_LDIF_TMP_ENV_MEM_527=\u4e00\u6642 DN \u30ad\u30e3\u30c3\u30b7\u30e5\u74b0\u5883\u306b\u4f7f\u7528\u53ef\u80fd\u306a\u7a7a\u304d\u30e1\u30e2\u30ea\u30fc\u306e\u5bb9\u91cf\u306f %d \u30d0\u30a4\u30c8\u3067\u3059 |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=\u30a4\u30f3\u30dd\u30fc\u30c8\u30bf\u30b9\u30af\u306b\u4f7f\u7528\u53ef\u80fd\u306a\u7a7a\u304d\u30e1\u30e2\u30ea\u30fc\u306e\u5bb9\u91cf\u306f %d \u30d0\u30a4\u30c8\u3067\u3059\u3002\u5fc5\u8981\u306a\u30d5\u30a7\u30fc\u30ba 1 \u30d0\u30c3\u30d5\u30a1\u30fc\u306e\u6570\u306f\u3001%d \u500b\u3067\u3059 |
| | | NOTE_IMPORT_LDIF_TRUSTED_FAILED_529=\u6b21\u306e\u7406\u7531\u3067\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4fe1\u983c\u6e08\u307f\u3068\u3057\u3066\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u306b\u5931\u6557\u3057\u307e\u3057\u305f: %s |
| | | NOTE_IMPORT_MIGRATION_START_530=\u30d9\u30fc\u30b9 DN %2$s \u306e %1$s \u30a8\u30f3\u30c8\u30ea\u3092\u79fb\u884c\u3057\u3066\u3044\u307e\u3059 |
| | | NOTE_IMPORT_PHASE_STATS_531=\u30a4\u30f3\u30dd\u30fc\u30c8\u306e\u5408\u8a08\u6642\u9593\u306f %d \u79d2\u3067\u3057\u305f\u3002\u30d5\u30a7\u30fc\u30ba 1 \u306e\u51e6\u7406\u306f %d \u79d2\u3067\u5b8c\u4e86\u3057\u3001\u30d5\u30a7\u30fc\u30ba 2 \u306e\u51e6\u7406\u306f %d \u79d2\u3067\u5b8c\u4e86\u3057\u307e\u3057\u305f |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=%d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u51e6\u7406\u3057\u3001%d \u500b\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u3001%d \u500b\u3092\u62d2\u5426\u3057\u3001 (\u6700\u65b0\u306e\u30ec\u30fc\u30c8 %.1f \u500b/\u79d2) |
| | | NOTE_IMPORT_STARTING_533=%s \u3067\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u958b\u59cb\u3057\u3066\u3044\u307e\u3059 (\u30d3\u30eb\u30c9 %s\u3001R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=\u30a4\u30f3\u30dd\u30fc\u30c8\u30b9\u30ec\u30c3\u30c9\u30ab\u30a6\u30f3\u30c8: %d \u500b\u306e\u30b9\u30ec\u30c3\u30c9 |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=\u69cb\u6210\u306b\u5909\u66f4\u304c\u3042\u3063\u305f\u305f\u3081\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s \u306f\u73fe\u5728\u6a5f\u80fd\u4f4e\u4e0b\u72b6\u614b\u3067\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u306f\u518d\u69cb\u7bc9\u3057\u3066\u304f\u3060\u3055\u3044 |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=\u3053\u306e\u691c\u7d22\u64cd\u4f5c\u306f\u3001\u6700\u5927\u6570\u3067\u3042\u308b %d \u500b\u306e\u4e00\u81f4\u30a8\u30f3\u30c8\u30ea\u3092\u78ba\u8a8d\u3057\u307e\u3057\u305f |
| | | NOTE_REBUILD_ALL_START_537=\u3059\u3079\u3066\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u518d\u69cb\u7bc9\u304c\u958b\u59cb\u3055\u308c\u307e\u3057\u305f\u3002\u51e6\u7406\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u5408\u8a08\u306f %d \u3067\u3059 |
| | | NOTE_REBUILD_FINAL_STATUS_540=\u518d\u69cb\u7bc9\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 %2$d \u79d2\u3067 %1$d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u51e6\u7406\u3057\u307e\u3057\u305f (\u5e73\u5747\u30ec\u30fc\u30c8 %3$.1f \u500b/\u79d2) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% \u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 %d/%d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u51e6\u7406\u3057\u307e\u3057\u305f\u3002(\u6700\u65b0\u306e\u30ec\u30fc\u30c8 %.1f \u500b/\u79d2) |
| | | NOTE_REBUILD_START_542=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9 %s \u306e\u518d\u69cb\u7bc9\u304c\u958b\u59cb\u3055\u308c\u307e\u3057\u305f\u3002\u51e6\u7406\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u5408\u8a08\u306f %d \u3067\u3059 |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=\u30ea\u30d5\u30a7\u30e9\u30eb\u30a8\u30f3\u30c8\u30ea %s \u306f\u3001\u64cd\u4f5c\u3092\u5225\u306e\u30b5\u30fc\u30d0\u30fc\u3067\u51e6\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059 |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=%3$d \u79d2\u3067 %1$d \u500b\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u78ba\u8a8d\u3057\u3001%2$d \u500b\u306e\u30a8\u30e9\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f (\u5e73\u5747\u30ec\u30fc\u30c8 %4$.1f \u500b/\u79d2) |
| | | NOTE_VERIFY_FINAL_STATUS_545=%3$d \u79d2\u3067 %1$d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u78ba\u8a8d\u3057\u3001%2$d \u500b\u306e\u30a8\u30e9\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f (\u5e73\u5747\u30ec\u30fc\u30c8 %4$.1f \u500b/\u79d2) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=%2$d \u500b\u306e\u30ec\u30b3\u30fc\u30c9\u306e\u3046\u3061 %1$d \u500b\u3092\u51e6\u7406\u3057\u3001%3$d \u500b\u306e\u30a8\u30e9\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f (\u6700\u65b0\u306e\u30ec\u30fc\u30c8 %4$.1f \u500b/\u79d2) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=\u8981\u6c42\u3055\u308c\u305f\u64cd\u4f5c\u306f\u3053\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=\u30b3\u30f3\u30c6\u30ca\u5185\u306e\u30a8\u30f3\u30c8\u30ea\u306e\u7dcf\u6570\u3092\u5224\u65ad\u3067\u304d\u307e\u305b\u3093: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=\u30a8\u30f3\u30c8\u30ea\u306f\u5b58\u5728\u3057\u3001\u30a4\u30f3\u30dd\u30fc\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u7f6e\u304d\u63db\u3048\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093 |
| | | NOTE_CACHE_PRELOAD_STARTED_550=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u304c\u958b\u59cb\u3055\u308c\u307e\u3057\u305f |
| | | NOTE_CACHE_DB_PRELOADED_551=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 %s \u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u4e2d\u306b\u6642\u9593\u5236\u9650\u306b\u3088\u308b\u5272\u308a\u8fbc\u307f\u304c\u767a\u751f\u3057\u307e\u3057\u305f |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 %s \u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u4e2d\u306b\u30b5\u30a4\u30ba\u5236\u9650\u306b\u3088\u308b\u5272\u308a\u8fbc\u307f\u304c\u767a\u751f\u3057\u307e\u3057\u305f |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 %s \u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u4e2d\u306b\u5272\u308a\u8fbc\u307f\u304c\u767a\u751f\u3057\u307e\u3057\u305f |
| | | NOTE_CACHE_PRELOAD_DONE_555=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9 %s \u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30d7\u30ea\u30ed\u30fc\u30c9\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u3001\u30d7\u30ea\u30ed\u30fc\u30c9\u5f8c\u306b %dM \u30d0\u30a4\u30c8\u306b\u306a\u308a\u307e\u3057\u305f |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=\u30af\u30ea\u30fc\u30ca\u306e\u52d5\u4f5c\u306b\u3088\u308a\u3001%s \u306e\u8ffd\u52a0\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u3092\u542b\u3081\u3066\u3044\u307e\u3059 |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=%s \u5c5e\u6027\u306b\u5bfe\u3059\u308b\u5909\u66f4\u306f\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u518d\u8d77\u52d5\u3059\u308b\u307e\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u305b\u3093 |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea '%2$s' \u306b\u6307\u5b9a\u3055\u308c\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30ed\u30b0\u30ec\u30d9\u30eb\u6587\u5b57\u5217 '%1$s' \u306f\u7121\u52b9\u3067\u3059\u3002\u5024\u306b\u306f\u3001OFF\u3001SEVERE\u3001WARNING\u3001INFO\u3001CONFIG\u3001FINE\u3001FINER\u3001FINEST\u3001\u307e\u305f\u306f ALL \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u5024\u306f\u5927\u6587\u5b57\u3068\u5c0f\u6587\u5b57\u304c\u533a\u5225\u3055\u308c\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044 |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=\u5727\u7e2e\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u60c5\u5831\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u683c\u7d0d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u8fd4\u3055\u308c\u305f\u7d50\u679c: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=\u4f55\u56de\u304b\u8a66\u884c\u3057\u307e\u3057\u305f\u304c\u3001\u5727\u7e2e\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u60c5\u5831\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u683c\u7d0d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea '%s' \u304c\u5b58\u5728\u3057\u307e\u305b\u3093 |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=\u5b9f\u884c\u3055\u308c\u305f\u30c1\u30a7\u30c3\u30af\u30dd\u30a4\u30f3\u30c8: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=\u30af\u30ea\u30fc\u30ca\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059: %d \u500b\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u524a\u9664\u3055\u308c\u307e\u3057\u305f: %d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u304c\u8aad\u307f\u53d6\u3089\u308c\u307e\u3057\u305f: %d \u500b\u306e IN \u30ce\u30fc\u30c9\u304c\u6d88\u53bb\u3055\u308c\u307e\u3057\u305f: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=\u6d88\u53bb\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002 \u30d1\u30b9: %d \u500b\u306e\u30ce\u30fc\u30c9\u304c\u6d88\u53bb\u3055\u308c\u307e\u3057\u305f: %d \u500b\u306e BIN \u30ce\u30fc\u30c9\u304c\u53d6\u308a\u9664\u304b\u308c\u307e\u3057\u305f: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=%d \u500b\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u305f\u3042\u3068\u3067\u6d88\u53bb\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f |
| | | ERR_CONFIG_JEB_CACHE_SIZE_TOO_SMALL_569=\u8a2d\u5b9a\u5c5e\u6027 ds-cfg-db-cache-size \u306e\u5024 %d \u306f\u3001\u6700\u5c0f\u5024\u3088\u308a\u3082\u5c0f\u3055\u3044\u3067\u3059: %d |
| | | ERR_CONFIG_JEB_DURABILITY_CONFLICT_570=\u8a2d\u5b9a\u5c5e\u6027 ds-cfg-db-txn-no-sync \u3068 ds-cfg-db-txn-write-no-sync \u306f\u76f8\u4e92\u6392\u4ed6\u7684\u3067\u3042\u308b\u305f\u3081\u3001\u4e21\u65b9\u3092\u540c\u6642\u306b\u306f\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093 |
| | | WARN_OUT_OF_DISK_SPACE_571=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u7528\u306e\u30c7\u30a3\u30b9\u30af\u306b\u306f\u66f8\u8fbc\u307f\u64cd\u4f5c\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u5bb9\u91cf\u304c\u3042\u308a\u307e\u305b\u3093 |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578='%s' \u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30d5\u30eb\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002 |
| | |
| | | NOTE_TASKS_RESTORE_UNSIGNED_HASH_VALID_401=\ubc31\uc5c5 \uc544\uce74\uc774\ube0c\uc5d0\uc11c \uacc4\uc0b0\ub41c \uba54\uc2dc\uc9c0 \ub2e4\uc774\uc81c\uc2a4\ud2b8\uac00 \ubc31\uc5c5 \uc815\ubcf4\uc640 \ud568\uaed8 \uc800\uc7a5\ub41c \ub2e4\uc774\uc81c\uc2a4\ud2b8\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4. |
| | | NOTE_TASKS_RESTORE_SIGNED_HASH_VALID_403=\ubc31\uc5c5 \uc544\uce74\uc774\ube0c\uc5d0\uc11c \uacc4\uc0b0\ub41c \uc11c\uba85\ub41c \ub2e4\uc774\uc81c\uc2a4\ud2b8\uac00 \ubc31\uc5c5 \uc815\ubcf4\uc640 \ud568\uaed8 \uc800\uc7a5\ub41c \uc11c\uba85\uacfc \uc77c\uce58\ud569\ub2c8\ub2e4. |
| | | ERR_BACKUP_MISSING_BACKUPID_407=%s \ubc31\uc5c5\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ubc31\uc5c5 \ub514\ub809\ud1a0\ub9ac %s\uc5d0\uc11c \ucc3e\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440='%s' \uc18d\uc131\uc740 \ud574\ub2f9 \uc77c\uce58 \uaddc\uce59\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0 '%s' \uc720\ud615\uc758 \uc0c9\uc778\uc744 \uac00\uc9c8 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=\ub300\uc0c1 \uc2dc\uc791 \uc704\uce58\uac00 \uacb0\uacfc \uc9d1\ud569\uc758 \uc2dc\uc791 \ubd80\ubd84\ubcf4\ub2e4 \uc55e\uc5d0 \uc788\uae30 \ub54c\ubb38\uc5d0 \uac00\uc0c1 \ubaa9\ub85d \ubcf4\uae30 \uc694\uccad\uc744 \ucc98\ub9ac\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_MISSING_DN2ID_RECORD_442=DN \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 '%s'\uc5d0 \ub300\ud55c \ub808\ucf54\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=\ud56d\ubaa9 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc544\uc774\ub514 %s\uc5d0 \ub300\ud55c \ub808\ucf54\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=\uc815\ub82c\uc744 \uc704\ud574 \uc544\uc774\ub514\uac00 %s\uc778 \ud56d\ubaa9\uc744 \uc870\uc0ac\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_CREATE_FAIL_447=\ubc31\uc5d4\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub514\ub809\ud1a0\ub9ac\ub97c \ub9cc\ub4e4\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=\uc774 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub514\ub809\ud1a0\ub9ac %2$s\uc5d0 \ub300\ud55c \ud30c\uc77c \uad8c\ud55c %1$s \uc124\uc815\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. |
| | | WARN_SET_PERMISSIONS_FAILED_449=\ubc31\uc5d4\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub514\ub809\ud1a0\ub9ac %s\uc5d0 \ub300\ud55c \ud30c\uc77c \uad8c\ud55c\uc744 \uc124\uc815\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=DB \ub514\ub809\ud1a0\ub9ac \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc801\uc6a9\ud558\ub824\uba74 \ubc31\uc5d4\ub4dc\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud574\uc57c \ud569\ub2c8\ub2e4. \ubc31\uc5d4\ub4dc\ub97c \uc885\ub8cc\ud55c \ud6c4 \uae30\uc874 \ub370\uc774\ud130\ub97c \uc720\uc9c0\ud558\ub824\uba74 \uc774\uc804 \ub514\ub809\ud1a0\ub9ac %s\uc758 DB \ud30c\uc77c\uc744 \uc0c8 \ub514\ub809\ud1a0\ub9ac %s(\uc73c)\ub85c \uc774\ub3d9\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | ERR_DIRECTORY_INVALID_451=\ubc31\uc5d4\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub514\ub809\ud1a0\ub9ac '%s'\uc740(\ub294) \uc720\ud6a8\ud55c \ub514\ub809\ud1a0\ub9ac\uac00 \uc544\ub2d9\ub2c8\ub2e4. |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=\ud574\ub2f9 \uc774\ub984\uc744 \uac00\uc9c4 \ud56d\ubaa9\uc774 \uc774\ubbf8 \uc788\uae30 \ub54c\ubb38\uc5d0 '%s' \ud56d\ubaa9\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_ADD_NO_SUCH_OBJECT_454=\ubd80\ubaa8 \ud56d\ubaa9\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0 '%s' \ud56d\ubaa9\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=\uc18d\uc131 \uc720\ud615 '%s'\uc5d0 \ub300\ud574 \uad6c\uc131\ub41c \uc0c9\uc778\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_CACHE_PRELOAD_456=\ubc31\uc5d4\ub4dc %s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc\ub97c \uc0ac\uc804 \ub85c\ub4dc\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=JE \uc555\ucd95 \uc2a4\ud0a4\ub9c8 \uc815\uc758\uc5d0\uc11c \uc18d\uc131 \uc124\uba85 \ud1a0\ud070\uc744 \ud574\ub3c5\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=JE \uc555\ucd95 \uc2a4\ud0a4\ub9c8 \uc815\uc758\uc5d0\uc11c \uac1d\uccb4 \ud074\ub798\uc2a4 \uc9d1\ud569 \ud1a0\ud070\uc744 \ud574\ub3c5\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=\uc555\ucd95\ub41c \uc2a4\ud0a4\ub9c8 \uc815\ubcf4\ub97c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc800\uc7a5\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=VLV \uc0c9\uc778 %2$s\uc5d0 \uc815\uc758\ub41c \uac80\uc0c9 \ud544\ud130 %1$s\uc744(\ub97c) \uad6c\ubb38 \ubd84\uc11d\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %3$s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=VLV \uc0c9\uc778 %2$s\uc5d0 \ub300\ud55c \uc815\ub82c \uc18d\uc131 %1$s\uc774(\uac00) \uc11c\ubc84 \uc2a4\ud0a4\ub9c8\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. |
| | | ERR_DATABASE_EXCEPTION_462=\ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc608\uc678: %s |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464='%s' \ud56d\ubaa9\uc740 \ud558\uc704 \ud56d\ubaa9\uc774 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc774 \ud56d\ubaa9\uc744 \uc81c\uac70\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_DELETE_NO_SUCH_OBJECT_465='%s' \ud56d\ubaa9\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc774 \ud56d\ubaa9\uc744 \uc81c\uac70\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=\ud56d\ubaa9 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc544\uc774\ub514 %s\uc5d0 \ub300\ud55c \uc720\ud6a8\ud55c \ub808\ucf54\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_IMPORT_BACKEND_ONLINE_469=\uac00\uc838\uc624\uae30 \ud504\ub85c\uc138\uc2a4\ub97c \uc2dc\uc791\ud558\ub824\uba74 \ubc31\uc5d4\ub4dc\ub97c \ube44\ud65c\uc131\ud654\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=\uc784\uc2dc \ub514\ub809\ud1a0\ub9ac %s\uc744(\ub97c) \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=\ubd80\ubaa8 \ud56d\ubaa9 '%s'\uc774(\uac00) \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=Entry record is not compatible with this version of the backend database. \ud56d\ubaa9 \ubc84\uc804: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=%s \uc0c9\uc778\uc744 \uc77d\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \uc0c9\uc778\uc774 \uc190\uc0c1\ub41c \uac83 \uac19\uc73c\uba70 \ud604\uc7ac \ub0ae\uc740 \uc131\ub2a5\uc73c\ub85c \uc791\ub3d9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc0c9\uc778\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\ud558\ub824\uba74 \uc0c9\uc778\uc744 \ub2e4\uc2dc \uc791\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=\ub2e4\uc74c \ud398\uc774\uc9c0\uc758 \uacb0\uacfc \uc81c\uc5b4 \ucfe0\ud0a4 \uac12\uc774 \uc778\uc2dd\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=\ud56d\ubaa9\uc744 %s\uc5d0\uc11c %s(\uc73c)\ub85c \uc774\ub3d9\ud558\uac70\ub098 \uc774\ub984\uc744 \ubcc0\uacbd\ud558\ub294 \ub3d9\uc548 \ud50c\ub7ec\uadf8\uc778\uc73c\ub85c \uc778\ud574 DN \uc218\uc815 \uc791\uc5c5\uc774 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=\ud56d\ubaa9 \ubcc0\uacbd\uc774 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8 \uad6c\uc131\uc744 \uc704\ubc18\ud558\uae30 \ub54c\ubb38\uc5d0 \ud56d\ubaa9\uc744 %s\uc5d0\uc11c %s(\uc73c)\ub85c \uc774\ub3d9\ud558\uac70\ub098 \uc774\ub984\uc744 \ubcc0\uacbd\ud558\ub294 \ub3d9\uc548 \ud50c\ub7ec\uadf8\uc778\uc73c\ub85c \uc778\ud574 DN \uc218\uc815 \uc791\uc5c5\uc774 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=\ud574\ub2f9 \uc774\ub984\uc744 \uac00\uc9c4 \ud56d\ubaa9\uc774 \uc774\ubbf8 \uc788\uae30 \ub54c\ubb38\uc5d0 \ud56d\ubaa9\uc758 \uc774\ub984\uc744 '%s'(\uc73c)\ub85c \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490='%s' \ud56d\ubaa9\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc774 \ud56d\ubaa9\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491='%s' \ud56d\ubaa9\uc774 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc774 \ud56d\ubaa9\uc744 \uc218\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=\uc0c8 \uc0c1\uc704 \ud56d\ubaa9 '%s'\uc774(\uac00) \uc5c6\uae30 \ub54c\ubb38\uc5d0 \ud56d\ubaa9\uc744 \uc774\ub3d9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_OPEN_ENV_FAIL_493=\ub370\uc774\ud130\ubca0\uc774\uc2a4 \ud658\uacbd\uc744 \uc5f4\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=\uae30\ubcf8 DN\uc744 \ud3ec\ud568\ud558\ub294 \ubc31\uc5d4\ub4dc\ub97c \ube44\ud65c\uc131\ud654\ud55c \uc0c1\ud0dc\ub85c \uc2dc\uc2a4\ud15c \uc0c9\uc778\uc744 \ub2e4\uc2dc \uc791\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | ERR_REMOVE_FAIL_495=\ubc31\uc5d4\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ud30c\uc77c\uc744 \uc81c\uac70\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=\uc694\uccad\ud55c \uac80\uc0c9 \uc791\uc5c5\uc5d0 \ub2e8\uc21c \ud398\uc774\uc9c0 \uacb0\uacfc \uc81c\uc5b4\uc640 \uac00\uc0c1 \ubaa9\ub85d \ubcf4\uae30 \uc81c\uc5b4\uac00 \ubaa8\ub450 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc81c\uc5b4\ub294 \uc0c1\ud638 \ubc30\ud0c0\uc801\uc774\ubbc0\ub85c \ud568\uaed8 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=\uc8fc\uc5b4\uc9c4 \uac80\uc0c9 \uc694\uccad\uc774 \uc0c9\uc778\ud654\ub418\uc5b4 \uc788\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \uac80\uc0c9 \uacb0\uacfc\ub97c \uc815\ub82c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=\uac80\uc0c9 \uae30\uc900 \ud56d\ubaa9 '%s'\uc774(\uac00) \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=\uc0c9\uc778\ud654\ub418\uc9c0 \uc54a\uc740 \uac80\uc0c9\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub294 \ucda9\ubd84\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | ERR_UNCHECKED_EXCEPTION_500=\ub370\uc774\ud130\ubca0\uc774\uc2a4 \ud2b8\ub79c\uc7ad\uc158 \uc911 \ud655\uc778\ub418\uc9c0 \uc54a\uc740 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501='%s' \uc774\ub984\uc73c\ub85c \uad6c\uc131\ub41c VLV \uc0c9\uc778\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=\ucc38\uc870\ub418\ub294 \ud3c9\uade0 \ud56d\ubaa9 \uc218\ub294 %.2f/\ub808\ucf54\ub4dc\uc785\ub2c8\ub2e4. |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba54\ubaa8\ub9ac = %dMB, \uce90\uc2dc \ub204\ub77d \ube44\uc728 = %.1f/\ub808\ucf54\ub4dc |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=\uc785\ub825 \uc81c\ud55c\uc744 \ucd08\uacfc\ud558\ub294 \ub808\ucf54\ub4dc \uc218: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=\uc785\ub825 \uc81c\ud55c\uc744 \ucd08\uacfc\ud55c \ub808\ucf54\ub4dc \ud1b5\uacc4: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=%s \ud30c\uc77c\uc5d0 \ud574\ub2f9 \ub808\ucf54\ub4dc\uac00 %d\uac1c(\ucd5c\uc18c=%d \ucd5c\ub300=%d \uc911\uac04=%d) \uc788\uc2b5\ub2c8\ub2e4. |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=\ub808\ucf54\ub4dc\uc5d0\uc11c \ucc38\uc870\ub418\ub294 \ucd5c\ub300 \ud56d\ubaa9 \uc218\ub294 %d\uac1c\uc785\ub2c8\ub2e4. |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=\uc5ec\ub7ec \ud56d\ubaa9\uc744 \ucc38\uc870\ud558\ub294 \ub808\ucf54\ub4dc \uc218: %d |
| | | NOTE_BACKEND_STARTED_513=%2$d\uac1c \ud56d\ubaa9\uc744 \ud3ec\ud568\ud558\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ubc31\uc5d4\ub4dc %1$s\uc774(\uac00) \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=\uc77c\ubd80 \uc0c9\uc778 \ud0a4\uac00 %s \uc0c9\uc778\uc758 \uc774\uc804 \uc0c9\uc778 \ud56d\ubaa9 \uc81c\ud55c\uc744 \uc774\ubbf8 \ucd08\uacfc\ud588\uc2b5\ub2c8\ub2e4. \uc0c8 \uc81c\ud55c\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \uc774 \uc0c9\uc778\uc744 \ub2e4\uc2dc \uc791\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | NOTE_EXPORT_FINAL_STATUS_515=\ub0b4\ubcf4\ub0b8 \ud56d\ubaa9 \uc218: %d, \uac74\ub108\ub6f4 \ud56d\ubaa9 \uc218: %d, \uc18c\uc694 \uc2dc\uac04: %d\ucd08(\ud3c9\uade0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=\ub0b4\ubcf4\ub0b8 \ub808\ucf54\ub4dc \uc218: %d, \uac74\ub108\ub6f4 \ub808\ucf54\ub4dc \uc218: %d(\ud3c9\uade0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=\ub514\uc2a4\ud06c\uc5d0 \ub370\uc774\ud130\ub97c \ud50c\ub7ec\uc2dc\ud569\ub2c8\ub2e4. |
| | | NOTE_IMPORT_FINAL_STATUS_519=\ucc98\ub9ac\ub41c \ud56d\ubaa9 \uc218: %d, \uac00\uc838\uc628 \ud56d\ubaa9 \uc218: %d, \uac74\ub108\ub6f4 \ud56d\ubaa9 \uc218: %d, \uac70\ubd80\ub41c \ud56d\ubaa9 \uc218: %d, \ub9c8\uc774\uadf8\ub808\uc774\uc158\ub41c \ud56d\ubaa9 \uc218: %d, \uc18c\uc694 \uc2dc\uac04: %d\ucd08(\ud3c9\uade0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=LDIF \ud658\uacbd\uc744 \uac00\uc838\uc624\ub294 \ub370 \uc57d %d\ucd08 \uac78\ub838\uc2b5\ub2c8\ub2e4. |
| | | NOTE_IMPORT_MIGRATION_START_530=\uae30\ubcf8 DN %2$s\uc5d0 \ub300\ud574 %1$s \ud56d\ubaa9\uc744 \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \uc911\uc785\ub2c8\ub2e4. |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=\ucc98\ub9ac\ub41c \ud56d\ubaa9 \uc218: %d, \uac74\ub108\ub6f4 \ud56d\ubaa9 \uc218: %d, \uac70\ubd80\ub41c \ud56d\ubaa9 \uc218: %d(\ucd5c\uc2e0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_IMPORT_STARTING_533=%s\uc774(\uac00) \uac00\uc838\uc624\uae30\ub97c \uc2dc\uc791\ud558\ub294 \uc911(\ube4c\ub4dc %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=\uac00\uc838\uc624\uae30 \uc2a4\ub808\ub4dc \uac1c\uc218: %d\uac1c \uc2a4\ub808\ub4dc |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=Due to changes in the configuration, index %s is currently operating in a degraded state and must be rebuilt before it can be used |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=\uc774 \uac80\uc0c9 \uc791\uc5c5\uc5d0\uc11c \ucd5c\ub300 %d\uac1c \ud56d\ubaa9\uc758 \uc77c\uce58\ub97c \ud655\uc778\ud588\uc2b5\ub2c8\ub2e4. |
| | | NOTE_REBUILD_FINAL_STATUS_540=\ub2e4\uc2dc \uc791\uc131\uc744 \uc644\ub8cc\ud588\uc2b5\ub2c8\ub2e4. \ucc98\ub9ac\ub41c \ub808\ucf54\ub4dc \uc218: %d, \uc18c\uc694 \uc2dc\uac04: %d\ucd08(\ud3c9\uade0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. %d/%d \ub808\ucf54\ub4dc\ub97c \ucc98\ub9ac\ud588\uc2b5\ub2c8\ub2e4. (\ucd5c\uc2e0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_REBUILD_START_542=%s \uc0c9\uc778 \ub2e4\uc2dc \uc791\uc131\uc774 \uc2dc\uc791\ub418\uc5c8\uc73c\uba70 \ucd1d %d\uac1c\uc758 \ub808\ucf54\ub4dc\ub97c \ucc98\ub9ac\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=\ucc38\uc870 \ud56d\ubaa9 %s\uc740(\ub294) \ub2e4\ub978 \uc11c\ubc84\uc5d0\uc11c \uc791\uc5c5\uc744 \ucc98\ub9ac\ud574\uc57c \ud568\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=\ud655\uc778\ub41c \ub808\ucf54\ub4dc \uc218: %d, \ubc1c\uacac\ub41c \uc624\ub958 \uc218: %d, \uc18c\uc694 \uc2dc\uac04: %d\ucd08(\ud3c9\uade0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_VERIFY_FINAL_STATUS_545=\ud655\uc778\ub41c \ud56d\ubaa9 \uc218: %d, \ubc1c\uacac\ub41c \uc624\ub958 \uc218: %d, \uc18c\uc694 \uc2dc\uac04: %d\ucd08(\ud3c9\uade0 \uc18d\ub3c4 %.1f/\ucd08) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=\ucc98\ub9ac\ub41c \ub808\ucf54\ub4dc \uc218: %2$d \uc911 %1$d, \ubc1c\uacac\ub41c \uc624\ub958 \uc218: %3$d(\ucd5c\uc2e0 \uc18d\ub3c4 %4$.1f/\ucd08) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=\uc694\uccad\ub41c \uc791\uc5c5\uc740 \uc774 \ubc31\uc5d4\ub4dc\uc5d0\uc11c \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=\ucee8\ud14c\uc774\ub108\uc5d0 \uc788\ub294 \ucd1d \ud56d\ubaa9 \uc218\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=\ud56d\ubaa9\uc774 \uc788\uc73c\uba70 \uac00\uc838\uc624\uae30 \uc635\uc158\uc73c\ub85c \ud574\ub2f9 \ud56d\ubaa9\uc744 \ub300\uccb4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_PRELOAD_STARTED_550=\ubc31\uc5d4\ub4dc %s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc \uc0ac\uc804 \ub85c\ub4dc\uac00 \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_DB_PRELOADED_551=\ub370\uc774\ud130\ubca0\uc774\uc2a4 %s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc \uc0ac\uc804 \ub85c\ub4dc\uac00 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=\uc2dc\uac04 \uc81c\ud55c\uc73c\ub85c \uc778\ud574 \ub370\uc774\ud130\ubca0\uc774\uc2a4 %2$s\uc744(\ub97c) \uc0ac\uc804 \ub85c\ub4dc\ud558\ub294 \ub3d9\uc548 \ubc31\uc5d4\ub4dc %1$s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc \uc0ac\uc804 \ub85c\ub4dc\uac00 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=\ud06c\uae30 \uc81c\ud55c\uc73c\ub85c \uc778\ud574 \ub370\uc774\ud130\ubca0\uc774\uc2a4 %2$s\uc744(\ub97c) \uc0ac\uc804 \ub85c\ub4dc\ud558\ub294 \ub3d9\uc548 \ubc31\uc5d4\ub4dc %1$s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc \uc0ac\uc804 \ub85c\ub4dc\uac00 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=\ub370\uc774\ud130\ubca0\uc774\uc2a4 %2$s\uc744(\ub97c) \uc0ac\uc804 \ub85c\ub4dc\ud558\ub294 \ub3d9\uc548 \ubc31\uc5d4\ub4dc %1$s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc \uc0ac\uc804 \ub85c\ub4dc\uac00 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_PRELOAD_DONE_555=\ubc31\uc5d4\ub4dc %s\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc \uc0ac\uc804 \ub85c\ub4dc\uac00 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=\uc0ac\uc804 \ub85c\ub4dc \ud6c4\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uce90\uc2dc\ub294 %dMB\uc785\ub2c8\ub2e4. |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=\ud074\ub9ac\ub108 \uc791\uc5c5\uc73c\ub85c \uc778\ud574 %s \ucd94\uac00 \ub85c\uadf8 \ud30c\uc77c\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=%s \uc18d\uc131\uc5d0 \ub300\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc801\uc6a9\ud558\ub824\uba74 \ubc31\uc5d4\ub4dc\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=\uad6c\uc131 \ud56d\ubaa9 '%2$s'\uc5d0 \ub300\ud574 \uc81c\uacf5\ub41c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub85c\uae45 \uc218\uc900 \ubb38\uc790\uc5f4 '%1$s'\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uac12\uc740 OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST \ub610\ub294 ALL \uc911 \ud558\ub098\uc5ec\uc57c \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uac12\uc740 \ub300\uc18c\ubb38\uc790\ub97c \uad6c\ubd84\ud569\ub2c8\ub2e4. |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=\uc555\ucd95\ub41c \uc2a4\ud0a4\ub9c8 \uc815\ubcf4\ub97c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc800\uc7a5\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \ubc18\ud658\ub41c \uacb0\uacfc: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=\uc11c\ubc84\uac00 \uc5ec\ub7ec \ubc88 \uc2dc\ub3c4\ud588\uc9c0\ub9cc \uc555\ucd95\ub41c \uc2a4\ud0a4\ub9c8 \uc815\ubcf4\ub97c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc800\uc7a5\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=\ubc31\uc5d4\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub514\ub809\ud1a0\ub9ac '%s'\uc774(\uac00) \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=\uc218\ud589\ud55c \uac80\uc0ac\uc810 \uc218: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=\ud074\ub9ac\ub108 \uc2e4\ud589 \ud69f\uc218: %d, \uc0ad\uc81c\ud55c \ud30c\uc77c \uc218: %d, \uc77d\uc740 \ud56d\ubaa9 \uc218: %d, \uc815\ub9ac\ud55c IN \ub178\ub4dc \uc218: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=\ucd95\ucd9c\uc774 \uc9c4\ud589 \uc911\uc785\ub2c8\ub2e4. \ud1b5\uacfc: %d, \ucd95\ucd9c\ub41c \ub178\ub4dc \uc218: %d, \uc81c\uac70\ub41c BIN \ub178\ub4dc \uc218: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=%d\uac1c \ud56d\ubaa9\uc744 \uac00\uc838\uc628 \ud6c4 \ucd95\ucd9c\uc774 \uac80\uc0c9\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | |
| | | NOTE_BACKEND_OFFLINE_370=Zaplecze %s zostaje teraz wy\u0142\u0105czone |
| | | INFO_ERGONOMIC_SIZING_OF_JE_CLEANER_THREADS_410=Lokalne zaplecze bazy danych %s nie okre\u015bla ilo\u015bci czystszych w\u0105tk\u00f3w: u\u017cywam domy\u015blnych %d w\u0105tk\u00f3w |
| | | NOTE_TASK_STARTED_413=%s zadanie %s rozpocz\u0119\u0142o wykonywanie |
| | | ERR_TASKS_BACKUP_CANNOT_BACKUP_TASKS_FILE_384=Wyst\u0105pi\u0142 b\u0142\u0105d podczas pr\u00f3by backupu pliku zada\u0144 %s: %s |
| | | INFO_ERGONOMIC_SIZING_OF_JE_LOCK_TABLES_411=Lokalne zaplecze bazy danych %s nie okre\u015bla ilo\u015bci tabel blokowanych: u\u017cywam domy\u015blnych %d |
| | | ERR_BACKEND_ENTRY_DOESNT_EXIST_196=Wpis %s nie istnieje w zapleczu "%s" |
| | | NOTE_BACKEND_OFFLINE_370=Zaplecze %s zostaje teraz wy\u0142\u0105czone |
| | | ERR_TASKS_BACKUP_CANNOT_BACKUP_TASKS_FILE_384=Wyst\u0105pi\u0142 b\u0142\u0105d podczas pr\u00f3by backupu pliku zada\u0144 %s: %s |
| | | INFO_ERGONOMIC_SIZING_OF_JE_CLEANER_THREADS_410=Lokalne zaplecze bazy danych %s nie okre\u015bla ilo\u015bci czystszych w\u0105tk\u00f3w: u\u017cywam domy\u015blnych %d w\u0105tk\u00f3w |
| | | INFO_ERGONOMIC_SIZING_OF_JE_LOCK_TABLES_411=Lokalne zaplecze bazy danych %s nie okre\u015bla ilo\u015bci tabel blokowanych: u\u017cywam domy\u015blnych %d |
| | | NOTE_TASK_STARTED_413=%s zadanie %s rozpocz\u0119\u0142o wykonywanie |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=Wolna pami\u0119\u0107 = %d MB, stosunek chybionych warto\u015bci w cache = %.1f/wpis |
| | | NOTE_BACKEND_STARTED_513=Baza danych %s zawieraj\u0105ca %d wpis\u00f3w wystratowa\u0142a |
| | | NOTE_EXPORT_FINAL_STATUS_515=Wyexportowano %d wpis\u00f3w i pomini\u0119to %d w ci\u0105gu %d sekund (\u015brednio %.1f/sec) |
| | | NOTE_IMPORT_FINAL_STATUS_519=Przetworzono %d wpis\u00f3w, zaimportowano %d, pomini\u0119to %d, odrzucono %d, zmigrowano %d w przeci\u0105gu %d sekund (\u015brednio %.1f/sec) |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=Import \u015brodowiska LDIF zaj\u0105\u0142 %d sekund |
| | | NOTE_IMPORT_MIGRATION_START_530=Migruj\u0119 %s wpis\u00f3w dla bazy DN %s |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=Przetworzono %d wpis\u00f3w, pomini\u0119to %d, odrzucono %d (ostatnia \u015brednia %.1f/sec) |
| | | NOTE_IMPORT_STARTING_533=%s rozpoczyna import (kompilacja %s, R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=Licznik importu w\u0105tk\u00f3w: %d w\u0105tk\u00f3w |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=Wykonano punkt\u00f3w kontrolnych: %d |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=Nie mo\u017cna znale\u017a\u0107 \u017cadnej kopii zapasowej w '%s'. Zostanie przeprowadzona pe\u0142na archiwizacja |
| | |
| | | ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_LSD_416=\u65e0\u6cd5\u4ece\u670d\u52a1\u5668\u6a21\u5f0f\u4e2d\u5220\u9664 ldap \u8bed\u6cd5\u63cf\u8ff0 %s\uff0c\u56e0\u4e3a\u672a\u5b9a\u4e49\u6b64\u7c7b ldap \u8bed\u6cd5\u63cf\u8ff0 |
| | | ERR_ATTR_SYNTAX_INVALID_LDAP_SYNTAX_417=\u65e0\u6cd5\u5c06\u63d0\u4f9b\u7684\u503c "%s" \u89e3\u6790\u4e3a ldap \u8bed\u6cd5\uff0c\u56e0\u4e3a\u5176 OID %s \u5bf9\u5e94\u4e8e\u5df2\u5b9e\u73b0\u7684\u5c5e\u6027\u8bed\u6cd5 |
| | | ERR_SCHEMA_MODIFY_CANNOT_DECODE_LDAP_SYNTAX_418=\u5c1d\u8bd5\u5bf9 ldap \u8bed\u6cd5\u63cf\u8ff0 "%s" \u8fdb\u884c\u89e3\u7801\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_VALID_MATCHING_RULE_437=\u5c5e\u6027 '%s' \u65e0\u6cd5\u62e5\u6709\u65e0\u6548\u5339\u914d\u89c4\u5219\u540d\u79f0 '%s' \u7684\u6269\u5c55\u7d22\u5f15\u7c7b\u578b |
| | | ERR_IMPORT_LDIF_LACK_MEM_438=\u6ca1\u6709\u8db3\u591f\u53ef\u7528\u5185\u5b58\uff08%d \u5b57\u8282\uff09\u4ee5\u6267\u884c\u5bfc\u5165\u3002\u81f3\u5c11\u9700\u8981 %d \u5b57\u8282\u7684\u53ef\u7528\u5185\u5b58 |
| | | WARN_IMPORT_LDIF_LACK_MEM_PHASE_TWO_439=\u7a7a\u95f2\u5185\u5b58\uff08%d \u5b57\u8282\uff09\u4e0d\u8db3\uff0c\u65e0\u6cd5\u5728\u5355\u6279\u6b21\u4e2d\u6267\u884c\u5bfc\u5165\u9636\u6bb5 2\u3002\u4e00\u4e9b\u7d22\u5f15\u5c06\u4f7f\u7528\u591a\u4e2a\u6279\u6b21\u5bfc\u5165\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u6027\u80fd\u964d\u4f4e |
| | | |
| | | ERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=\u5c5e\u6027 '%s' \u65e0\u6cd5\u62e5\u6709 '%s' \u7c7b\u578b\u7684\u7d22\u5f15\u7f16\u5199\uff0c\u56e0\u4e3a\u5176\u6ca1\u6709\u76f8\u5e94\u7684\u5339\u914d\u89c4\u5219 |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=\u65e0\u6cd5\u5904\u7406\u865a\u62df\u5217\u8868\u89c6\u56fe\u8bf7\u6c42\uff0c\u56e0\u4e3a\u76ee\u6807\u8d77\u59cb\u4f4d\u7f6e\u4f4d\u4e8e\u7ed3\u679c\u96c6\u5f00\u5934\u4e4b\u524d |
| | | ERR_MISSING_DN2ID_RECORD_442=DN \u6570\u636e\u5e93\u4e0d\u5305\u542b '%s' \u7684\u8bb0\u5f55 |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=\u6761\u76ee\u6570\u636e\u5e93\u4e0d\u5305\u542b ID %s \u7684\u8bb0\u5f55 |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=\u65e0\u6cd5\u68c0\u67e5 ID \u4e3a %s \u7684\u6761\u76ee\u4ee5\u7528\u4e8e\u6392\u5e8f: %s |
| | | ERR_EXECUTION_ERROR_445=\u5728\u540e\u7aef\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u6267\u884c\u9519\u8bef: %s |
| | | ERR_INTERRUPTED_ERROR_446=\u5728\u540e\u7aef\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u4e2d\u65ad\u9519\u8bef: %s |
| | | ERR_CREATE_FAIL_447=\u65e0\u6cd5\u521b\u5efa\u540e\u7aef\u6570\u636e\u5e93\u76ee\u5f55: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=\u8be5\u5e73\u53f0\u4e0d\u652f\u6301\u5c06\u6587\u4ef6\u6743\u9650 %s \u8bbe\u7f6e\u5230\u6570\u636e\u5e93\u76ee\u5f55 %s |
| | | WARN_SET_PERMISSIONS_FAILED_449=\u5728\u4e3a\u540e\u7aef\u6570\u636e\u5e93\u76ee\u5f55 %s \u8bbe\u7f6e\u6587\u4ef6\u6743\u9650\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=\u5728\u91cd\u65b0\u542f\u52a8\u540e\u7aef\u540e\uff0c\u5bf9\u6570\u636e\u5e93\u76ee\u5f55\u6240\u505a\u7684\u66f4\u6539\u624d\u4f1a\u751f\u6548\u5728\u5173\u95ed\u540e\u7aef\u540e\uff0c\u5fc5\u987b\u5c06\u4ee5\u524d\u76ee\u5f55 %s \u4e2d\u7684\u6570\u636e\u5e93\u6587\u4ef6\u79fb\u5230\u65b0\u76ee\u5f55 %s \u4e2d\u4ee5\u4fdd\u7559\u73b0\u6709\u6570\u636e |
| | | ERR_DIRECTORY_INVALID_451=\u540e\u7aef\u6570\u636e\u5e93\u76ee\u5f55 '%s' \u4e0d\u662f\u6709\u6548\u76ee\u5f55 |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=\u65e0\u6cd5\u6dfb\u52a0\u6761\u76ee '%s'\uff0c\u56e0\u4e3a\u5df2\u5b58\u5728\u5177\u6709\u8be5\u540d\u79f0\u7684\u6761\u76ee |
| | | ERR_ADD_NO_SUCH_OBJECT_454=\u65e0\u6cd5\u6dfb\u52a0\u6761\u76ee '%s'\uff0c\u56e0\u4e3a\u5176\u7236\u6761\u76ee\u4e0d\u5b58\u5728 |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=\u6ca1\u6709\u4e3a\u5c5e\u6027\u7c7b\u578b '%s' \u914d\u7f6e\u4efb\u4f55\u7d22\u5f15 |
| | | ERR_CACHE_PRELOAD_456=\u4e3a\u540e\u7aef %s \u9884\u52a0\u8f7d\u6570\u636e\u5e93\u7f13\u5b58\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=\u5728\u5c1d\u8bd5\u4ece \u538b\u7f29\u7684\u6a21\u5f0f\u5b9a\u4e49\u89e3\u7801\u5c5e\u6027\u63cf\u8ff0\u4ee4\u724c\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=\u5728\u5c1d\u8bd5\u4ece \u538b\u7f29\u7684\u6a21\u5f0f\u5b9a\u4e49\u89e3\u7801\u5bf9\u8c61\u7c7b\u96c6\u4ee4\u724c\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=\u5728\u5c1d\u8bd5\u5728\u6570\u636e\u5e93\u4e2d\u5b58\u50a8\u538b\u7f29\u7684\u6a21\u5f0f\u4fe1\u606f\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=\u5728\u89e3\u6790\u4e3a VLV \u7d22\u5f15 %2$s \u5b9a\u4e49\u7684\u641c\u7d22\u8fc7\u6ee4\u5668 %1$s \u65f6\u51fa\u73b0\u9519\u8bef: %3$s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=\u672a\u5728\u670d\u52a1\u5668\u6a21\u5f0f\u4e2d\u5b9a\u4e49\u7528\u4e8e VLV \u7d22\u5f15 %2$s \u7684\u6392\u5e8f\u5c5e\u6027 %1$s |
| | | ERR_DATABASE_EXCEPTION_462=\u6570\u636e\u5e93\u5f02\u5e38: %s |
| | | ERR_DELETE_ABORTED_BY_SUBORDINATE_PLUGIN_463=\u5220\u9664\u6b21\u5c42\u6761\u76ee %s \u65f6\uff0c\u67d0\u4e2a\u63d2\u4ef6\u5bfc\u81f4\u5220\u9664\u64cd\u4f5c\u88ab\u4e2d\u6b62 |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=\u65e0\u6cd5\u5220\u9664\u6761\u76ee '%s'\uff0c\u56e0\u4e3a\u8be5\u6761\u76ee\u5177\u6709\u4e0b\u7ea7\u6761\u76ee |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=\u65e0\u6cd5\u5220\u9664\u6761\u76ee '%s'\uff0c\u56e0\u4e3a\u8be5\u6761\u76ee\u4e0d\u5b58\u5728 |
| | | ERR_ENTRY_CONTAINER_ALREADY_REGISTERED_466=\u5df2\u7ecf\u4e3a\u57fa DN '%2$s' \u6ce8\u518c\u540d\u4e3a '%1$s' \u7684\u6761\u76ee\u5bb9\u5668 |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=\u6761\u76ee\u6570\u636e\u5e93\u4e0d\u5305\u542b ID %s \u7684\u6709\u6548\u8bb0\u5f55 |
| | | ERR_EXPORT_IO_ERROR_468=\u5bfc\u51fa\u6761\u76ee\u65f6\u51fa\u73b0 I/O \u9519\u8bef: %s |
| | | ERR_IMPORT_BACKEND_ONLINE_469=\u5728\u5bfc\u5165\u8fdb\u7a0b\u5f00\u59cb\u4e4b\u524d\uff0c\u5fc5\u987b\u7981\u7528\u540e\u7aef |
| | | ERR_IMPORT_BUFFER_IO_ERROR_470=\u5728\u4e34\u65f6\u76ee\u5f55\u4e2d\u8bfb\u53d6\u7d22\u5f15\u4e34\u65f6\u6587\u4ef6 %s \u65f6\u51fa\u73b0 I/O \u9519\u8bef |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=\u65e0\u6cd5\u521b\u5efa\u4e34\u65f6\u76ee\u5f55 %s |
| | | ERR_IMPORT_LDIF_APPEND_REPLACE_TASK_ERR_472=\u5728\u5904\u7406\u9644\u52a0\u548c\u66ff\u6362\u4efb\u52a1\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_LDIF_IMPORT_TASK_ERR_473=\u5728\u5904\u7406\u5bfc\u5165\u4efb\u52a1\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_LDIF_INDEX_FILEWRITER_ERR_474=\u5728\u5c06 %s \u7d22\u5f15\u4e34\u65f6\u6587\u4ef6\u5199\u5165\u4e34\u65f6\u76ee\u5f55 %s \u65f6\u63a5\u6536\u4ee5\u4e0b I/O \u9519\u8bef |
| | | ERR_IMPORT_LDIF_INDEX_WRITE_DB_ERR_475=\u5728\u5904\u7406 %s \u7d22\u5f15\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXCLUDED_TASK_ERR_476=\u5728\u5904\u7406\u8fc1\u79fb\u72ec\u5360\u4efb\u52a1\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_LDIF_MIGRATE_EXISTING_TASK_ERR_477=\u5728\u5904\u7406\u8fc1\u79fb\u73b0\u6709\u4efb\u52a1\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_LDIF_PENDING_ERR_478=\u5728\u6267\u884c\u6682\u6302 DN \u68c0\u67e5\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_LDIF_READER_IO_ERROR_479=\u6253\u5f00 LDIF \u6d41\u65f6\u51fa\u73b0 I/O \u9519\u8bef |
| | | ERR_IMPORT_LDIF_REBUILD_INDEX_TASK_ERR_480=\u5728\u5904\u7406\u91cd\u65b0\u751f\u6210\u7d22\u5f15\u4efb\u52a1\u65f6\u9047\u5230\u4ee5\u4e0b\u9519\u8bef: %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=\u7236\u6761\u76ee '%s' \u4e0d\u5b58\u5728 |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=\u6761\u76ee\u8bb0\u5f55\u4e0e\u6b64\u7248\u672c\u7684\u540e\u7aef\u6570\u636e\u5e93\u4e0d\u517c\u5bb9\u3002\u6761\u76ee\u7248\u672c: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=\u8bfb\u53d6\u7d22\u5f15 %s \u65f6\u51fa\u73b0\u9519\u8bef\u3002\u7d22\u5f15\u4f3c\u4e4e\u5df2\u635f\u574f\uff0c\u5e76\u4e14\u5f53\u524d\u6b63\u4ee5\u964d\u7ea7\u72b6\u6001\u8fd0\u884c\u3002\u5fc5\u987b\u5148\u91cd\u65b0\u751f\u6210\u7d22\u5f15\uff0c\u7136\u540e\u5b83\u624d\u80fd\u91cd\u65b0\u6b63\u5e38\u8fd0\u884c |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=\u65e0\u6cd5\u8bc6\u522b\u4ee5\u4e0b\u5206\u9875\u7ed3\u679c\u63a7\u5236 Cookie \u503c: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=\u5728\u5c06\u6761\u76ee\u7531 %s \u79fb\u52a8\u81f3\u548c/\u6216\u91cd\u547d\u540d\u4e3a %s \u65f6\uff0c\u63d2\u4ef6\u5bfc\u81f4\u4fee\u6539 DN \u64cd\u4f5c\u4e2d\u6b62 |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=\u5728\u5c06\u6761\u76ee\u7531 %s \u79fb\u52a8\u81f3\u548c/\u6216\u91cd\u547d\u540d\u4e3a %s \u65f6\uff0c\u63d2\u4ef6\u5bfc\u81f4\u4fee\u6539 DN \u64cd\u4f5c\u4e2d\u6b62\uff0c\u56e0\u4e3a\u5bf9\u8be5\u6761\u76ee\u6240\u505a\u7684\u66f4\u6539\u8fdd\u53cd\u4e86\u670d\u52a1\u5668\u6a21\u5f0f\u914d\u7f6e\u8981\u6c42: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=\u65e0\u6cd5\u5c06\u6761\u76ee\u91cd\u547d\u540d\u4e3a '%s'\uff0c\u56e0\u4e3a\u5df2\u5b58\u5728\u5177\u6709\u8be5\u540d\u79f0\u7684\u6761\u76ee |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=\u65e0\u6cd5\u91cd\u547d\u540d\u6761\u76ee '%s'\uff0c\u56e0\u4e3a\u8be5\u6761\u76ee\u4e0d\u5b58\u5728 |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=\u65e0\u6cd5\u4fee\u6539\u6761\u76ee '%s'\uff0c\u56e0\u4e3a\u8be5\u6761\u76ee\u4e0d\u5b58\u5728 |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=\u65e0\u6cd5\u79fb\u52a8\u6761\u76ee\uff0c\u56e0\u4e3a\u65b0\u7684\u7236\u6761\u76ee '%s' \u4e0d\u5b58\u5728 |
| | | ERR_OPEN_ENV_FAIL_493=\u65e0\u6cd5\u6253\u5f00\u6570\u636e\u5e93\u73af\u5883: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=\u53ea\u6709\u5728\u7981\u7528\u5305\u542b\u57fa DN \u7684\u540e\u7aef\u65f6\u624d\u80fd\u91cd\u65b0\u751f\u6210\u7cfb\u7edf\u7d22\u5f15 |
| | | ERR_REMOVE_FAIL_495=\u65e0\u6cd5\u5220\u9664\u540e\u7aef\u6570\u636e\u5e93\u6587\u4ef6: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=\u8bf7\u6c42\u7684\u641c\u7d22\u64cd\u4f5c\u540c\u65f6\u5305\u542b\u7b80\u5355\u5206\u9875\u7ed3\u679c\u63a7\u5236\u548c\u865a\u62df\u5217\u8868\u89c6\u56fe\u63a7\u5236\u3002\u8fd9\u4e9b\u63a7\u5236\u662f\u4e92\u65a5\u7684\uff0c\u4e0d\u80fd\u4e00\u8d77\u4f7f\u7528 |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=\u65e0\u6cd5\u5bf9\u641c\u7d22\u7ed3\u679c\u8fdb\u884c\u6392\u5e8f\uff0c\u56e0\u4e3a\u7ed9\u5b9a\u7684\u641c\u7d22\u8bf7\u6c42\u672a\u7f16\u5236\u7d22\u5f15 |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=\u641c\u7d22\u57fa\u6761\u76ee '%s' \u4e0d\u5b58\u5728 |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=\u60a8\u6ca1\u6709\u8db3\u591f\u7684\u6743\u9650\u6765\u6267\u884c\u672a\u7f16\u5165\u7d22\u5f15\u7684\u641c\u7d22 |
| | | ERR_UNCHECKED_EXCEPTION_500=\u5904\u7406\u6570\u636e\u5e93\u4e8b\u52a1\u671f\u95f4\u51fa\u73b0\u672a\u68c0\u67e5\u5f02\u5e38: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=\u6ca1\u6709\u914d\u7f6e\u540d\u79f0\u4e3a '%s' \u7684 VLV \u7d22\u5f15 |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=\u5f15\u7528\u7684\u5e73\u5747\u6761\u76ee\u6570\u4e3a %.2f\u4e2a/\u8bb0\u5f55 |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=\u53ef\u7528\u5185\u5b58 = %d MB\uff0c\u7f13\u5b58\u672a\u547d\u4e2d\u7387 = %.1f\u4e2a/\u8bb0\u5f55 |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=\u8d85\u8fc7\u6761\u76ee\u9650\u5236\u7684\u8bb0\u5f55\u6570\uff1a%d \u4e2a |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=\u5df2\u8d85\u8fc7\u6761\u76ee\u9650\u5236\u7684\u8bb0\u5f55\u7684\u7edf\u8ba1\u4fe1\u606f: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=\u6587\u4ef6 %s \u5177\u6709 %d \u4e2a\u6b64\u7c7b\u8bb0\u5f55 min=%d max=%d median=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=\u4efb\u4f55\u8bb0\u5f55\u5f15\u7528\u7684\u6700\u5927\u6761\u76ee\u6570\u4e3a %d \u4e2a |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=\u5f15\u7528\u591a\u4e2a\u6761\u76ee\u7684\u8bb0\u5f55\u6570\uff1a%d \u4e2a |
| | | NOTE_BACKEND_STARTED_513=\u5305\u542b %2$d \u4e2a\u6761\u76ee\u7684\u6570\u636e\u5e93\u540e\u7aef %1$s \u5df2\u542f\u52a8 |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=\u67d0\u4e9b\u7d22\u5f15\u952e\u5df2\u8d85\u8fc7\u7d22\u5f15 %s \u4e2d\u4ee5\u524d\u7684\u7d22\u5f15\u6761\u76ee\u9650\u5236\u3002\u5fc5\u987b\u91cd\u6784\u8be5\u7d22\u5f15\uff0c\u7136\u540e\u5b83\u624d\u80fd\u4f7f\u7528\u65b0\u9650\u5236 |
| | | NOTE_EXPORT_FINAL_STATUS_515=\u5728 %3$d \u79d2\u5185\uff0c\u5bfc\u51fa\u4e86 %1$d \u4e2a\u6761\u76ee\u5e76\u8df3\u8fc7\u4e86 %2$d \u4e2a\u6761\u76ee\uff08\u5e73\u5747\u901f\u7387\u4e3a %4$.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=\u5df2\u5bfc\u51fa %d \u4e2a\u8bb0\u5f55\u5e76\u8df3\u8fc7 %d \u4e2a\u8bb0\u5f55\uff08\u6700\u65b0\u901f\u7387\u4e3a %.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_IMPORT_ADJUST_THREAD_COUNT_517=\u6ca1\u6709\u8db3\u591f\u7684\u5185\u5b58\u7528\u4e8e\u4e3a\u4f7f\u7528 %d \u4e2a\u7ebf\u7a0b\u5206\u914d\u8db3\u591f\u7684\u9636\u6bb5\u4e00\u7f13\u51b2\u533a\u3002\u5c06\u4f7f\u7528\u7684\u7ebf\u7a0b\u7684\u6570\u91cf\u964d\u4e3a %d |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=\u6b63\u5728\u5c06\u6570\u636e\u5237\u65b0\u5230\u78c1\u76d8\u4e2d |
| | | NOTE_IMPORT_FINAL_STATUS_519=\u5728 %6$d \u79d2\u5185\uff0c\u5904\u7406\u4e86 %1$d \u4e2a\u6761\u76ee\uff0c\u5bfc\u5165\u4e86 %2$d \u4e2a\u6761\u76ee\uff0c\u8df3\u8fc7\u4e86 %3$d \u4e2a\u6761\u76ee\uff0c\u62d2\u7edd\u4e86 %4$d \u4e2a\u6761\u76ee\uff0c\u5e76\u8fc1\u79fb\u4e86 %5$d \u4e2a\u6761\u76ee\uff08\u5e73\u5747\u901f\u7387\u4e3a %7$.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_IMPORT_LDIF_DB_MEM_BUF_INFO_520=\u5c06 DB \u9ad8\u901f\u7f13\u5b58\u5927\u5c0f\u8bbe\u7f6e\u4e3a %d \u5b57\u8282\uff0c\u5e76\u5c06\u9636\u6bb5\u4e00\u7f13\u51b2\u533a\u5927\u5c0f\u8bbe\u7f6e\u4e3a %d \u5b57\u8282 |
| | | NOTE_IMPORT_LDIF_DN_CLOSE_521=DN \u9636\u6bb5\u4e8c\u5904\u7406\u5df2\u5b8c\u6210\u3002\u5df2\u5904\u7406 %d \u4e2a DN |
| | | NOTE_IMPORT_LDIF_INDEX_CLOSE_522=\u7d22\u5f15 %s \u9636\u6bb5\u4e8c\u5904\u7406\u5df2\u5b8c\u6210 |
| | | NOTE_IMPORT_LDIF_INDEX_STARTED_523=\u7d22\u5f15 %1$s \u9636\u6bb5\u4e8c\u5df2\u5f00\u59cb\u5904\u7406 %3$d \u4e2a\u6279\u5904\u7406\u4e2d\u7684 %2$d \u4e2a\u7f13\u51b2\u533a |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_MEM_REPORT_524=\u7528\u4e8e\u9636\u6bb5\u4e8c\u5904\u7406\u7684\u53ef\u7528\u5185\u5b58\u4e3a %d \u5b57\u8282\u3002\u9884\u8bfb\u7f13\u5b58\u5927\u5c0f\u4e3a %d \u5b57\u8282\uff08\u4f7f\u7528 %d \u4e2a\u7f13\u51b2\u533a\u8ba1\u7b97\uff09 |
| | | NOTE_IMPORT_LDIF_PHASE_TWO_REPORT_525=\u7d22\u5f15 %s %d%% \u5b8c\u6210\uff1a\u5269\u4f59 = %d kb\uff0c\u901f\u7387 = %d kb/s\uff1b\u6279\u5904\u7406 %d/%d |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=\u5173\u95ed\u5bfc\u5165 LDIF \u73af\u5883\u7528\u65f6 %d \u79d2 |
| | | NOTE_IMPORT_LDIF_TMP_ENV_MEM_527=\u53ef\u7528\u4e8e\u4e34\u65f6 DN \u7f13\u5b58\u73af\u5883\u7684\u5185\u5b58\u6570\u91cf\u4e3a %d \u5b57\u8282 |
| | | NOTE_IMPORT_LDIF_TOT_MEM_BUF_528=\u5bfc\u5165\u4efb\u52a1\u53ef\u7528\u7684\u5185\u5b58\u6570\u91cf\u4e3a %d \u5b57\u8282\u3002\u9636\u6bb5\u4e00\u6240\u9700\u7684\u7f13\u51b2\u533a\u6570\u91cf\u4e3a %d \u4e2a\u7f13\u51b2\u533a |
| | | NOTE_IMPORT_LDIF_TRUSTED_FAILED_529=\u5c06\u7d22\u5f15\u8bbe\u7f6e\u4e3a\u53ef\u4fe1\u65f6\u5931\u8d25\uff0c\u539f\u56e0\u5982\u4e0b: %s |
| | | NOTE_IMPORT_MIGRATION_START_530=\u6b63\u5728\u4e3a\u57fa DN %2$s \u8fc1\u79fb %1$s \u6761\u76ee |
| | | NOTE_IMPORT_PHASE_STATS_531=\u603b\u5bfc\u5165\u65f6\u95f4\u4e3a %d \u79d2\u3002\u9636\u6bb5\u4e00\u5904\u7406\u5728 %d \u79d2\u4e4b\u5185\u5b8c\u6210\uff0c\u9636\u6bb5\u4e8c\u5904\u7406\u5728 %d \u79d2\u4e4b\u5185\u5b8c\u6210 |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=\u5904\u7406\u4e86 %d \u4e2a\u6761\u76ee\uff0c\u8df3\u8fc7\u4e86 %d \u4e2a\u6761\u76ee\uff0c\u5e76\u62d2\u7edd\u4e86 %d \u4e2a\u6761\u76ee\uff08\u6700\u65b0\u901f\u7387\u4e3a %.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_IMPORT_STARTING_533=%s \u6b63\u5f00\u59cb\u5bfc\u5165\uff08\u6784\u5efa\u7248\u672c %s\uff0cR%d\uff09 |
| | | NOTE_IMPORT_THREAD_COUNT_534=\u5bfc\u5165\u7ebf\u7a0b\u8ba1\u6570\uff1a%d \u4e2a\u7ebf\u7a0b |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=\u7531\u4e8e\u914d\u7f6e\u66f4\u6539\uff0c\u7d22\u5f15 %s \u5f53\u524d\u5904\u4e8e\u964d\u7ea7\u72b6\u6001\uff1b\u5fc5\u987b\u91cd\u6784\u8be5\u7d22\u5f15\uff0c\u7136\u540e\u624d\u80fd\u8fdb\u884c\u4f7f\u7528 |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=\u8be5\u641c\u7d22\u64cd\u4f5c\u68c0\u67e5\u4e86 %d\uff08\u6700\u5927\u503c\uff09\u4e2a\u6761\u76ee\u4ee5\u83b7\u53d6\u5339\u914d\u9879 |
| | | NOTE_REBUILD_ALL_START_537=\u91cd\u65b0\u751f\u6210\u6240\u6709\u7d22\u5f15\u7684\u8fc7\u7a0b\u4ee5\u5904\u7406\u603b\u8ba1 %d \u4e2a\u6761\u76ee\u5f00\u59cb |
| | | NOTE_REBUILD_FINAL_STATUS_540=\u5df2\u5b8c\u6210\u91cd\u6784\u3002\u5728 %2$d \u79d2\u5185\u5904\u7406\u4e86 %1$d \u4e2a\u6761\u76ee\uff08\u5e73\u5747\u901f\u7387\u4e3a %3$.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=\u5df2\u5b8c\u6210 %.1f%%\u3002\u5df2\u5904\u7406 %d/%d \u4e2a\u6761\u76ee\u3002\uff08\u6700\u65b0\u901f\u7387\u4e3a %.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_REBUILD_START_542=\u5df2\u5f00\u59cb\u91cd\u65b0\u751f\u6210\u7d22\u5f15 %s\uff0c\u8981\u5904\u7406\u7684\u6761\u76ee\u603b\u6570\u4e3a %d \u4e2a |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=\u5f15\u7528\u6761\u76ee %s \u6307\u793a\u5fc5\u987b\u5728\u5176\u4ed6\u670d\u52a1\u5668\u4e0a\u5904\u7406\u8be5\u64cd\u4f5c |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=\u5728 %3$d \u79d2\u5185\uff0c\u68c0\u67e5\u4e86 %1$d \u4e2a\u8bb0\u5f55\u5e76\u627e\u5230\u4e86 %2$d \u4e2a\u9519\u8bef\uff08\u5e73\u5747\u901f\u7387\u4e3a %4$.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_VERIFY_FINAL_STATUS_545=\u5728 %3$d \u79d2\u5185\uff0c\u68c0\u67e5\u4e86 %1$d \u4e2a\u6761\u76ee\u5e76\u627e\u5230\u4e86 %2$d \u4e2a\u9519\u8bef\uff08\u5e73\u5747\u901f\u7387\u4e3a %4$.1f\u4e2a/\u79d2\uff09 |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=\u5df2\u5904\u7406 %d \u4e2a\u8bb0\u5f55\uff08\u5171 %d \u4e2a\u8bb0\u5f55\uff09\u5e76\u627e\u5230 %d \u4e2a\u9519\u8bef\uff08\u6700\u65b0\u901f\u7387\u4e3a %.1f\u4e2a/\u79d2\uff09 |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=\u6b64\u540e\u7aef\u4e0d\u652f\u6301\u8bf7\u6c42\u7684\u64cd\u4f5c |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=\u65e0\u6cd5\u786e\u5b9a\u5bb9\u5668\u4e2d\u7684\u6761\u76ee\u603b\u6570: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=\u6761\u76ee\u5b58\u5728\uff0c\u5e76\u4e14\u5bfc\u5165\u9009\u9879\u4e0d\u5141\u8bb8\u5c06\u5176\u66ff\u6362 |
| | | NOTE_CACHE_PRELOAD_STARTED_550=\u540e\u7aef %s \u7684\u6570\u636e\u5e93\u7f13\u5b58\u9884\u52a0\u8f7d\u5df2\u542f\u52a8 |
| | | NOTE_CACHE_DB_PRELOADED_551=\u6570\u636e\u5e93 %s \u7684\u6570\u636e\u5e93\u7f13\u5b58\u9884\u52a0\u8f7d\u5df2\u5b8c\u6210 |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=\u7531\u4e8e\u65f6\u95f4\u9650\u5236\uff0c\u540e\u7aef %s \u7684\u6570\u636e\u5e93\u7f13\u5b58\u9884\u52a0\u8f7d\u5728\u9884\u52a0\u8f7d\u6570\u636e\u5e93 %s \u65f6\u4e2d\u65ad |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=\u7531\u4e8e\u5927\u5c0f\u9650\u5236\uff0c\u540e\u7aef %s \u7684\u6570\u636e\u5e93\u7f13\u5b58\u9884\u52a0\u8f7d\u5728\u9884\u52a0\u8f7d\u6570\u636e\u5e93 %s \u65f6\u4e2d\u65ad |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=\u540e\u7aef %s \u7684\u6570\u636e\u5e93\u7f13\u5b58\u9884\u52a0\u8f7d\u5728\u9884\u52a0\u8f7d\u6570\u636e\u5e93 %s \u65f6\u4e2d\u65ad |
| | | NOTE_CACHE_PRELOAD_DONE_555=\u540e\u7aef %s \u7684\u6570\u636e\u5e93\u7f13\u5b58\u9884\u52a0\u8f7d\u5df2\u5b8c\u6210 |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=\u5728\u9884\u52a0\u8f7d\u540e\uff0c\u6570\u636e\u5e93\u7f13\u5b58\u4e3a %d MB |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=\u7531\u4e8e\u6e05\u7406\u5668\u6d3b\u52a8\u800c\u5305\u62ec %s \u4e2a\u989d\u5916\u7684\u65e5\u5fd7\u6587\u4ef6 |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=\u5728\u91cd\u65b0\u542f\u52a8\u540e\u7aef\u540e\uff0c\u5bf9 %s \u5c5e\u6027\u6240\u505a\u7684\u66f4\u6539\u624d\u4f1a\u751f\u6548 |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=\u63d0\u4f9b\u7ed9\u914d\u7f6e\u6761\u76ee '%2$s' \u7684\u6570\u636e\u5e93\u65e5\u5fd7\u8bb0\u5f55\u7ea7\u522b\u5b57\u7b26\u4e32 '%1$s' \u65e0\u6548\u3002\u8be5\u503c\u5fc5\u987b\u4e3a OFF\u3001SEVERE\u3001WARNING\u3001INFO\u3001CONFIG\u3001FINE\u3001FINER\u3001FINEST \u6216 ALL \u4e4b\u4e00\u3002\u8bf7\u6ce8\u610f\uff0c\u8fd9\u4e9b\u503c\u662f\u533a\u5206\u5927\u5c0f\u5199\u7684 |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=\u5728\u5c1d\u8bd5\u5728\u6570\u636e\u5e93\u4e2d\u5b58\u50a8\u538b\u7f29\u7684\u6a21\u5f0f\u4fe1\u606f\u65f6\u51fa\u73b0\u9519\u8bef\u3002\u8fd4\u56de\u7684\u7ed3\u679c\u662f: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=\u670d\u52a1\u5668\u5728\u591a\u6b21\u5c1d\u8bd5\u540e\u4ecd\u7136\u65e0\u6cd5\u5728\u6570\u636e\u5e93\u4e2d\u5b58\u50a8\u538b\u7f29\u7684\u6a21\u5f0f\u4fe1\u606f |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=\u540e\u7aef\u6570\u636e\u5e93\u76ee\u5f55 '%s' \u4e0d\u5b58\u5728 |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=\u5df2\u6267\u884c\u7684\u68c0\u67e5\u70b9\uff1a%d \u4e2a |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=\u6e05\u7406\u5668\u8fd0\u884c\u6b21\u6570\uff1a%d \u6b21\uff0c\u5df2\u5220\u9664\u7684\u6587\u4ef6\u6570\uff1a%d \u4e2a\uff0c\u8bfb\u53d6\u7684\u6761\u76ee\u6570\uff1a%d \u4e2a\uff0c\u6e05\u7406\u7684 IN \u8282\u70b9\u6570\uff1a%d \u4e2a |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=\u6b63\u5728\u79fb\u9664\u3002\u901a\u8fc7\uff1a\u79fb\u9664 %d \u4e2a\u8282\u70b9\uff1a\u53bb\u9664 %d \u4e2a BIN \u8282\u70b9\uff1a%d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=\u5728\u5bfc\u5165 %d \u4e2a\u6761\u76ee\u540e\u68c0\u6d4b\u5230\u79fb\u9664\u64cd\u4f5c |
| | | ERR_CONFIG_JEB_CACHE_SIZE_TOO_SMALL_569=\u914d\u7f6e\u5c5e\u6027 ds-cfg-db-cache-size \u7684\u503c\u4e3a %d\uff0c\u8be5\u503c\u5c0f\u4e8e\u6700\u5c0f\u503c: %d |
| | | ERR_CONFIG_JEB_DURABILITY_CONFLICT_570=\u914d\u7f6e\u5c5e\u6027 ds-cfg-db-txn-no-sync \u548c ds-cfg-db-txn-write-no-sync \u662f\u76f8\u4e92\u6392\u65a5\u7684\uff0c\u65e0\u6cd5\u5728\u540c\u4e00\u65f6\u95f4\u540c\u65f6\u8bbe\u7f6e |
| | | WARN_OUT_OF_DISK_SPACE_571=\u78c1\u76d8\u4e0a\u6ca1\u6709\u8db3\u591f\u7684\u7a7a\u95f4\u4f9b\u6570\u636e\u5e93\u6267\u884c\u5199\u64cd\u4f5c |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_578=\u5728 '%s' \u4e2d\u627e\u4e0d\u5230\u4efb\u4f55\u5907\u4efd\u3002\u5c06\u6267\u884c\u5b8c\u6574\u5907\u4efd |
| | |
| | | NOTE_TASKS_RESTORE_UNSIGNED_HASH_VALID_401=\u5f9e\u5099\u4efd\u6b78\u6a94\u8a08\u7b97\u800c\u4f86\u7684\u8a0a\u606f\u6458\u8981\u7b26\u5408\u8207\u5099\u4efd\u8cc7\u8a0a\u4e00\u8d77\u5132\u5b58\u7684\u6458\u8981 |
| | | NOTE_TASKS_RESTORE_SIGNED_HASH_VALID_403=\u5f9e\u5099\u4efd\u6b78\u6a94\u8a08\u7b97\u800c\u4f86\u7684\u7c3d\u7f72\u6458\u8981\u7b26\u5408\u8207\u5099\u4efd\u8cc7\u8a0a\u4e00\u8d77\u5132\u5b58\u7684\u7c3d\u540d |
| | | ERR_BACKUP_MISSING_BACKUPID_407=\u5728\u5099\u4efd\u76ee\u9304 %2$s \u4e2d\u627e\u4e0d\u5230\u5099\u4efd %1$s \u7684\u8cc7\u8a0a |
| | | S |
| | | SERR_CONFIG_INDEX_TYPE_NEEDS_MATCHING_RULE_440=\u5c6c\u6027\u300c%s\u300d\u7121\u6cd5\u5177\u6709\u985e\u578b\u300c%s\u300d\u7684\u7d22\u5f15\uff0c\u56e0\u70ba\u6b64\u5c6c\u6027\u6c92\u6709\u5c0d\u61c9\u7684\u76f8\u7b26\u898f\u5247 |
| | | ERR_ENTRYIDSORTER_NEGATIVE_START_POS_441=\u7121\u6cd5\u8655\u7406\u865b\u64ec\u6e05\u55ae\u6aa2\u8996\u8acb\u6c42\uff0c\u56e0\u70ba\u76ee\u6a19\u8d77\u59cb\u4f4d\u7f6e\u4f4d\u65bc\u7d50\u679c\u96c6\u7684\u958b\u982d\u4e4b\u524d |
| | | ERR_MISSING_DN2ID_RECORD_442=DN \u8cc7\u6599\u5eab\u4e0d\u5305\u542b\u300c%s\u300d\u7684\u8a18\u9304 |
| | | ERR_MISSING_ID2ENTRY_RECORD_443=\u9805\u76ee\u8cc7\u6599\u5eab\u4e0d\u5305\u542b ID %s \u7684\u8a18\u9304 |
| | | ERR_ENTRYIDSORTER_CANNOT_EXAMINE_ENTRY_444=\u7121\u6cd5\u6aa2\u67e5 ID \u70ba %s \u7684\u9805\u76ee\u4ee5\u9032\u884c\u6392\u5e8f: %s |
| | | ERR_CREATE_FAIL_447=\u7121\u6cd5\u5efa\u7acb\u5f8c\u7aef\u8cc7\u6599\u5eab\u76ee\u9304: %s |
| | | WARN_UNABLE_SET_PERMISSIONS_448=\u6b64\u5e73\u53f0\u4e0d\u652f\u63f4\u8a2d\u5b9a\u8cc7\u6599\u5eab\u76ee\u9304 %2$s \u7684\u6a94\u6848\u6b0a\u9650 %1$s |
| | | WARN_SET_PERMISSIONS_FAILED_449=\u8a2d\u5b9a\u5f8c\u7aef\u8cc7\u6599\u5eab\u76ee\u9304 %s \u7684\u6a94\u6848\u6b0a\u9650\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | NOTE_CONFIG_DB_DIR_REQUIRES_RESTART_450=\u5728\u5f8c\u7aef\u91cd\u65b0\u555f\u52d5\u5f8c\uff0c\u8cc7\u6599\u5eab\u76ee\u9304\u7684\u8b8a\u66f4\u624d\u6703\u751f\u6548\u3002\u5728\u95dc\u9589\u5f8c\u7aef\u5f8c\uff0c\u820a\u6709\u76ee\u9304 %s \u4e2d\u7684\u8cc7\u6599\u5eab\u6a94\u6848\u5fc5\u9808\u79fb\u81f3\u65b0\u7684\u76ee\u9304 %s\uff0c\u624d\u80fd\u4fdd\u7559\u73fe\u6709\u8cc7\u6599 |
| | | ERR_DIRECTORY_INVALID_451=\u5f8c\u7aef\u8cc7\u6599\u5eab\u76ee\u9304\u300c%s\u300d\u4e0d\u662f\u6709\u6548\u7684\u76ee\u9304 |
| | | ERR_ADD_ENTRY_ALREADY_EXISTS_453=\u7121\u6cd5\u589e\u52a0\u9805\u76ee\u300c%s\u300d\uff0c\u56e0\u70ba\u5177\u6709\u8a72\u540d\u7a31\u7684\u9805\u76ee\u5df2\u7d93\u5b58\u5728 |
| | | ERR_ADD_NO_SUCH_OBJECT_454=\u7121\u6cd5\u589e\u52a0\u9805\u76ee\u300c%s\u300d\uff0c\u56e0\u70ba\u5176\u7236\u7cfb\u9805\u76ee\u4e0d\u5b58\u5728 |
| | | ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED_455=\u6c92\u6709\u91dd\u5c0d\u5c6c\u6027\u985e\u578b\u300c%s\u300d\u914d\u7f6e\u7684\u7d22\u5f15 |
| | | ERR_CACHE_PRELOAD_456=\u9810\u5148\u8f09\u5165\u5f8c\u7aef %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_AD_TOKEN_457=\u5617\u8a66\u5f9e \u58d3\u7e2e\u6a21\u5f0f\u5b9a\u7fa9\u4e2d\u89e3\u78bc\u5c6c\u6027\u8aaa\u660e\u8a18\u865f\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_COMPSCHEMA_CANNOT_DECODE_OC_TOKEN_458=\u5617\u8a66\u5f9e \u58d3\u7e2e\u6a21\u5f0f\u5b9a\u7fa9\u4e2d\u89e3\u78bc\u7269\u4ef6\u985e\u5225\u96c6\u5408\u8a18\u865f\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_COMPSCHEMA_CANNOT_STORE_EX_459=\u5617\u8a66\u5728\u8cc7\u6599\u5eab\u4e2d\u5132\u5b58\u58d3\u7e2e\u6a21\u5f0f\u8cc7\u8a0a\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_CONFIG_VLV_INDEX_BAD_FILTER_460=\u5256\u6790\u70ba VLV \u7d22\u5f15 %2$s \u5b9a\u7fa9\u7684\u641c\u5c0b\u7be9\u9078\u5668 %1$s \u6642\u767c\u751f\u932f\u8aa4: %3$s |
| | | ERR_CONFIG_VLV_INDEX_UNDEFINED_ATTR_461=VLV \u7d22\u5f15 %2$s \u7684\u6392\u5e8f\u5c6c\u6027 %1$s \u672a\u5b9a\u7fa9\u65bc\u4f3a\u670d\u5668\u6a21\u5f0f\u4e2d |
| | | ERR_DATABASE_EXCEPTION_462=\u8cc7\u6599\u5eab\u7570\u5e38: %s |
| | | ERR_DELETE_NOT_ALLOWED_ON_NONLEAF_464=\u9805\u76ee\u300c%s\u300d\u5177\u6709\u5f9e\u5c6c\u9805\u76ee\uff0c\u7121\u6cd5\u79fb\u9664 |
| | | ERR_DELETE_NO_SUCH_OBJECT_465=\u9805\u76ee\u300c%s\u300d\u4e0d\u5b58\u5728\uff0c\u7121\u6cd5\u79fb\u9664 |
| | | ERR_ENTRY_DATABASE_CORRUPT_467=\u9805\u76ee\u8cc7\u6599\u5eab\u4e0d\u5305\u542b ID %s \u7684\u6709\u6548\u8a18\u9304 |
| | | ERR_IMPORT_BACKEND_ONLINE_469=\u5fc5\u9808\u505c\u7528\u5f8c\u7aef\uff0c\u532f\u5165\u7a0b\u5e8f\u624d\u53ef\u555f\u52d5 |
| | | ERR_IMPORT_CREATE_TMPDIR_ERROR_471=\u7121\u6cd5\u5efa\u7acb\u66ab\u5b58\u76ee\u9304 %s |
| | | ERR_IMPORT_PARENT_NOT_FOUND_481=\u7236\u7cfb\u9805\u76ee\u300c%s\u300d\u4e0d\u5b58\u5728 |
| | | ERR_INCOMPATIBLE_ENTRY_VERSION_482=Entry record is not compatible with this version of the backend database. \u9805\u76ee\u7248\u672c: %x |
| | | ERR_INDEX_CORRUPT_REQUIRES_REBUILD_483=\u8b80\u53d6\u7d22\u5f15 %s \u6642\u767c\u751f\u932f\u8aa4\u3002\u7d22\u5f15\u53ef\u80fd\u5df2\u6bc0\u58de\uff0c\u4e14\u76ee\u524d\u4ee5\u964d\u7d1a\u72c0\u614b\u904b\u4f5c\u3002\u7d22\u5f15\u5fc5\u9808\u91cd\u5efa\u624d\u53ef\u56de\u5fa9\u6b63\u5e38\u904b\u4f5c |
| | | ERR_INVALID_PAGED_RESULTS_COOKIE_484=\u7121\u6cd5\u8fa8\u8b58\u4e0b\u5217\u5206\u9801\u986f\u793a\u7684\u7d50\u679c\u63a7\u5236 cookie \u503c: %s |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN_487=\u5916\u639b\u7a0b\u5f0f\u5c07\u67d0\u9805\u76ee\u5f9e %s \u79fb\u81f3\u4e26 (\u6216) \u91cd\u65b0\u547d\u540d\u70ba %s \u6642\uff0c\u5c0e\u81f4\u4fee\u6539 DN \u4f5c\u696d\u4e2d\u65b7 |
| | | ERR_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR_488=\u5916\u639b\u7a0b\u5f0f\u5c07\u67d0\u9805\u76ee\u5f9e %s \u79fb\u81f3\u4e26 (\u6216) \u91cd\u65b0\u547d\u540d\u70ba %s \u6642\uff0c\u5c0e\u81f4\u4fee\u6539 DN \u4f5c\u696d\u4e2d\u65b7\uff0c\u56e0\u70ba\u8a72\u9805\u76ee\u7684\u8b8a\u66f4\u9055\u53cd\u4f3a\u670d\u5668\u6a21\u5f0f\u914d\u7f6e: %s |
| | | ERR_MODIFYDN_ALREADY_EXISTS_489=\u9805\u76ee\u7121\u6cd5\u91cd\u65b0\u547d\u540d\u70ba\u300c%s\u300d\uff0c\u56e0\u70ba\u5177\u6709\u8a72\u540d\u7a31\u7684\u9805\u76ee\u5df2\u7d93\u5b58\u5728 |
| | | ERR_MODIFYDN_NO_SUCH_OBJECT_490=\u9805\u76ee\u300c%s\u300d\u4e0d\u5b58\u5728\uff0c\u7121\u6cd5\u91cd\u65b0\u547d\u540d |
| | | ERR_MODIFY_NO_SUCH_OBJECT_491=\u9805\u76ee\u300c%s\u300d\u4e0d\u5b58\u5728\uff0c\u7121\u6cd5\u4fee\u6539 |
| | | ERR_NEW_SUPERIOR_NO_SUCH_OBJECT_492=\u9805\u76ee\u7121\u6cd5\u79fb\u52d5\uff0c\u56e0\u70ba\u65b0\u7684\u7236\u7cfb\u9805\u76ee\u300c%s\u300d\u4e0d\u5b58\u5728 |
| | | ERR_OPEN_ENV_FAIL_493=\u7121\u6cd5\u958b\u555f\u8cc7\u6599\u5eab\u74b0\u5883: %s |
| | | ERR_REBUILD_BACKEND_ONLINE_494=\u57f7\u884c\u7cfb\u7d71\u7d22\u5f15\u7684\u91cd\u5efa\u6642\uff0c\u5fc5\u9808\u505c\u7528\u5305\u542b\u57fa\u5e95 DN \u7684\u5f8c\u7aef |
| | | ERR_REMOVE_FAIL_495=\u7121\u6cd5\u79fb\u9664\u5f8c\u7aef\u8cc7\u6599\u5eab\u6a94\u6848: %s |
| | | ERR_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV_496=\u8acb\u6c42\u7684\u641c\u5c0b\u4f5c\u696d\u5305\u542b\u7c21\u55ae\u7684\u5206\u9801\u7d50\u679c\u63a7\u5236\u8207\u865b\u64ec\u6e05\u55ae\u6aa2\u8996\u63a7\u5236\u3002\u9019\u4e9b\u63a7\u5236\u5f7c\u6b64\u4e92\u65a5\uff0c\u800c\u7121\u6cd5\u4e00\u8d77\u4f7f\u7528 |
| | | ERR_SEARCH_CANNOT_SORT_UNINDEXED_497=\u7121\u6cd5\u6392\u5e8f\u641c\u5c0b\u7d50\u679c\uff0c\u56e0\u70ba\u6307\u5b9a\u7684\u641c\u5c0b\u8acb\u6c42\u672a\u7de8\u88fd\u7d22\u5f15 |
| | | ERR_SEARCH_NO_SUCH_OBJECT_498=\u641c\u5c0b\u57fa\u5e95\u9805\u76ee\u300c%s\u300d\u4e0d\u5b58\u5728 |
| | | ERR_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES_499=\u60a8\u6c92\u6709\u8db3\u5920\u7684\u6b0a\u9650\u53ef\u57f7\u884c\u672a\u7de8\u88fd\u7d22\u5f15\u7684\u641c\u5c0b |
| | | ERR_UNCHECKED_EXCEPTION_500=\u8cc7\u6599\u5eab\u4f5c\u696d\u4e8b\u4ef6\u671f\u9593\u767c\u751f\u4e0d\u660e\u7570\u5e38: %s |
| | | ERR_VLV_INDEX_NOT_CONFIGURED_501=\u6c92\u6709\u4ee5\u540d\u7a31\u300c%s\u300d\u914d\u7f6e\u7684 VLV \u7d22\u5f15 |
| | | INFO_VERIFY_AVERAGE_REFERENCE_COUNT_506=\u5e73\u5747\u53c3\u7167\u9805\u76ee\u6578\u70ba %.2f \u500b/\u8a18\u9304 |
| | | INFO_CACHE_AND_MEMORY_REPORT_507=\u53ef\u7528\u8a18\u61b6\u9ad4 = %d MB\uff0c\u5feb\u53d6\u907a\u5931\u7387 = %.1f MB/\u8a18\u9304 |
| | | INFO_VERIFY_ENTRY_LIMIT_EXCEEDED_COUNT_508=\u8d85\u904e\u9805\u76ee\u9650\u5236\u7684\u8a18\u9304\u6578: %d |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_HEADER_509=\u8d85\u904e\u9805\u76ee\u9650\u5236\u7684\u8a18\u9304\u7d71\u8a08: |
| | | INFO_VERIFY_ENTRY_LIMIT_STATS_ROW_510=\u6a94\u6848 %s \u6709 %d \u7b46\u6b64\u985e\u8a18\u9304\uff0c\u6700\u5c0f\u503c=%d\u3001\u6700\u5927\u503c=%d\u3001\u4e2d\u4f4d\u6578=%d |
| | | INFO_VERIFY_MAX_REFERENCE_COUNT_511=\u4efb\u4f55\u8a18\u9304\u6240\u53c3\u7167\u7684\u9805\u76ee\u6578\u4e0a\u9650\u70ba %d |
| | | INFO_VERIFY_MULTIPLE_REFERENCE_COUNT_512=\u53c3\u7167\u591a\u500b\u9805\u76ee\u7684\u8a18\u9304\u6578: %d |
| | | NOTE_BACKEND_STARTED_513=\u5305\u542b %2$d \u500b\u9805\u76ee\u7684\u8cc7\u6599\u5eab\u5f8c\u7aef %1$s \u5df2\u555f\u52d5 |
| | | NOTE_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD_514=\u90e8\u5206\u7d22\u5f15\u9375\u503c\u5df2\u8d85\u904e\u7d22\u5f15 %s \u4e2d\u5148\u524d\u7684\u7d22\u5f15\u9805\u76ee\u9650\u5236\u3002\u6b64\u7d22\u5f15\u5fc5\u9808\u5148\u91cd\u5efa\uff0c\u624d\u80fd\u4f7f\u7528\u65b0\u7684\u9650\u5236 |
| | | NOTE_EXPORT_FINAL_STATUS_515=\u5728 %3$d \u79d2\u4e2d\u532f\u51fa\u4e86 %1$d \u500b\u9805\u76ee\uff0c\u7565\u904e %2$d \u500b\u9805\u76ee (\u5e73\u5747\u901f\u7387 %4$.1f \u500b/\u79d2) |
| | | NOTE_EXPORT_PROGRESS_REPORT_516=\u5df2\u532f\u51fa %d \u7b46\u8a18\u9304\uff0c\u7565\u904e %d \u7b46\u8a18\u9304 (\u6700\u8fd1\u901f\u7387 %.1f \u7b46/\u79d2) |
| | | NOTE_IMPORT_CLOSING_DATABASE_518=\u6b63\u5728\u5c07\u8cc7\u6599\u6e05\u9664\u81f3\u78c1\u789f |
| | | NOTE_IMPORT_FINAL_STATUS_519=\u5728 %6$d \u79d2\u4e2d\u8655\u7406\u4e86 %1$d \u500b\u9805\u76ee\uff0c\u532f\u5165 %2$d \u500b\u3001\u7565\u904e %3$d \u500b\u3001\u62d2\u7d55 %4$d \u500b\u3001\u9077\u79fb %5$d \u500b\u9805\u76ee (\u5e73\u5747\u901f\u7387 %.1f \u500b/\u79d2) |
| | | NOTE_IMPORT_LDIF_ROOTCONTAINER_CLOSE_526=\u532f\u5165 LDIF \u74b0\u5883\u95dc\u9589\u8cbb\u6642 %d \u79d2 |
| | | NOTE_IMPORT_MIGRATION_START_530=\u6b63\u5728\u9077\u79fb\u57fa\u5e95 DN %2$s \u7684 %1$s \u500b\u9805\u76ee |
| | | NOTE_IMPORT_PROGRESS_REPORT_532=\u5df2\u8655\u7406 %d \u500b\u9805\u76ee\uff0c\u7565\u904e %d \u500b\u3001\u62d2\u7d55 %d \u500b (\u6700\u8fd1\u901f\u7387 %.1f \u500b/\u79d2) |
| | | NOTE_IMPORT_STARTING_533=%s \u555f\u52d5\u532f\u5165 (\u5efa\u7f6e %s\u3001R%d) |
| | | NOTE_IMPORT_THREAD_COUNT_534=\u532f\u5165\u57f7\u884c\u7dd2\u8a08\u6578: %d \u500b\u57f7\u884c\u7dd2 |
| | | NOTE_INDEX_ADD_REQUIRES_REBUILD_535=Due to changes in the configuration, index %s is currently operating in a degraded state and must be rebuilt before it can be used |
| | | NOTE_LOOKTHROUGH_LIMIT_EXCEEDED_536=\u6b64\u641c\u5c0b\u4f5c\u696d\u6aa2\u67e5\u6709\u7121\u76f8\u7b26\u9805\u76ee\u7684\u9805\u76ee\u6578\u5df2\u9054\u4e0a\u9650 %d |
| | | NOTE_REBUILD_FINAL_STATUS_540=\u91cd\u5efa\u5b8c\u6210\u3002\u5728 %2$d \u79d2\u4e2d\u8655\u7406\u4e86 %1$d \u7b46\u8a18\u9304 (\u5e73\u5747\u901f\u7387 %.1f \u7b46/\u79d2) |
| | | NOTE_REBUILD_PROGRESS_REPORT_541=%.1f%% \u5df2\u5b8c\u6210\u3002\u5df2\u8655\u7406 %d/%d \u7b46\u8a18\u9304\u3002(\u6700\u8fd1\u901f\u7387 %.1f \u7b46/\u79d2) |
| | | NOTE_REBUILD_START_542=\u7d22\u5f15 %s \u7684\u91cd\u5efa\u5df2\u555f\u52d5\uff0c\u5171\u6709 %d \u7b46\u8a18\u9304\u8981\u9032\u884c\u8655\u7406 |
| | | NOTE_REFERRAL_RESULT_MESSAGE_543=\u53c3\u7167\u9805\u76ee %s \u6307\u51fa\u5fc5\u9808\u5728\u4e0d\u540c\u7684\u4f3a\u670d\u5668\u4e0a\u8655\u7406\u4f5c\u696d |
| | | NOTE_VERIFY_CLEAN_FINAL_STATUS_544=\u5728 %3$d \u79d2\u4e2d\u6aa2\u67e5\u4e86 %1$d \u7b46\u8a18\u9304\uff0c\u627e\u5230 %2$d \u500b\u932f\u8aa4 (\u5e73\u5747\u901f\u7387 %.1f \u500b/\u79d2) |
| | | NOTE_VERIFY_FINAL_STATUS_545=\u5728 %3$d \u79d2\u4e2d\u6aa2\u67e5\u4e86 %1$d \u500b\u9805\u76ee\uff0c\u627e\u5230 %2$d \u500b\u932f\u8aa4 (\u5e73\u5747\u901f\u7387 %.1f \u500b/\u79d2) |
| | | NOTE_VERIFY_PROGRESS_REPORT_546=\u5df2\u8655\u7406 %d \u7b46\u8a18\u9304 (\u5171 %d \u7b46)\uff0c\u627e\u5230 %d \u500b\u932f\u8aa4 (\u6700\u8fd1\u901f\u7387 %.1f \u500b/\u79d2) |
| | | WARN_FUNCTION_NOT_SUPPORTED_547=\u6b64\u5f8c\u7aef\u4e0d\u652f\u63f4\u8acb\u6c42\u7684\u4f5c\u696d |
| | | WARN_GET_ENTRY_COUNT_FAILED_548=\u7121\u6cd5\u5224\u65b7\u5bb9\u5668\u4e2d\u7684\u9805\u76ee\u7e3d\u6578: %s |
| | | WARN_IMPORT_ENTRY_EXISTS_549=\u9805\u76ee\u5b58\u5728\uff0c\u800c\u532f\u5165\u9078\u9805\u4e0d\u5141\u8a31\u53d6\u4ee3\u8a72\u9805\u76ee |
| | | NOTE_CACHE_PRELOAD_STARTED_550=\u5f8c\u7aef %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u9810\u5148\u8f09\u5165\u5df2\u555f\u52d5 |
| | | NOTE_CACHE_DB_PRELOADED_551=\u8cc7\u6599\u5eab %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u9810\u5148\u8f09\u5165\u5df2\u5b8c\u6210 |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_TIME_552=\u5f8c\u7aef %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u9810\u5148\u8f09\u5165\u5df2\u5728\u9810\u5148\u8f09\u5165\u8cc7\u6599\u5eab %s \u6642\u56e0\u6642\u9593\u9650\u5236\u800c\u4e2d\u65b7 |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_BY_SIZE_553=\u5f8c\u7aef %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u9810\u5148\u8f09\u5165\u5df2\u5728\u9810\u5148\u8f09\u5165\u8cc7\u6599\u5eab %s \u6642\u56e0\u5927\u5c0f\u9650\u5236\u800c\u4e2d\u65b7 |
| | | NOTE_CACHE_PRELOAD_INTERRUPTED_UNKNOWN_554=\u5f8c\u7aef %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u9810\u5148\u8f09\u5165\u5df2\u5728\u9810\u5148\u8f09\u5165\u8cc7\u6599\u5eab %s \u6642\u4e2d\u65b7 |
| | | NOTE_CACHE_PRELOAD_DONE_555=\u5f8c\u7aef %s \u7684\u8cc7\u6599\u5eab\u5feb\u53d6\u9810\u5148\u8f09\u5165\u5df2\u5b8c\u6210 |
| | | NOTE_CACHE_SIZE_AFTER_PRELOAD_556=\u5728\u9810\u5148\u8f09\u5165\u5f8c\uff0c\u8cc7\u6599\u5eab\u5feb\u53d6\u70ba %d MB |
| | | NOTE_JEB_BACKUP_CLEANER_ACTIVITY_557=\u56e0\u6e05\u9664\u7a0b\u5f0f\u6d3b\u52d5\u800c\u5305\u542b %s \u500b\u984d\u5916\u7684\u8a18\u9304\u6a94 |
| | | NOTE_JEB_CONFIG_ATTR_REQUIRES_RESTART_559=\u5728\u5f8c\u7aef\u91cd\u65b0\u555f\u52d5\u5f8c\uff0c%s \u5c6c\u6027\u7684\u8b8a\u66f4\u624d\u6703\u751f\u6548 |
| | | ERR_JEB_INVALID_LOGGING_LEVEL_561=\u70ba\u914d\u7f6e\u9805\u76ee\u300c%2$s\u300d\u63d0\u4f9b\u7684\u8cc7\u6599\u5eab\u8a18\u9304\u5c64\u7d1a\u5b57\u4e32\u300c%1$s\u300d\u7121\u6548\u3002\u5176\u503c\u5fc5\u9808\u662f OFF\u3001SEVERE\u3001WARNING\u3001INFO\u3001CONFIG\u3001FINE\u3001FINER\u3001FINEST \u6216 ALL \u5176\u4e2d\u4e4b\u4e00\u3002\u8acb\u6ce8\u610f\uff0c\u9019\u4e9b\u503c\u61c9\u5340\u5206\u5927\u5c0f\u5beb |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_STATUS_562=\u5617\u8a66\u5728\u8cc7\u6599\u5eab\u4e2d\u5132\u5b58\u58d3\u7e2e\u6a21\u5f0f\u8cc7\u8a0a\u6642\u767c\u751f\u932f\u8aa4\u3002\u50b3\u56de\u7684\u7d50\u679c\u70ba: %s |
| | | ERR_JEB_COMPSCHEMA_CANNOT_STORE_MULTIPLE_FAILURES_563=\u5728\u591a\u6b21\u5617\u8a66\u5f8c\uff0c\u4f3a\u670d\u5668\u7121\u6cd5\u5728\u8cc7\u6599\u5eab\u4e2d\u5132\u5b58\u58d3\u7e2e\u6a21\u5f0f\u8cc7\u8a0a |
| | | ERR_DIRECTORY_DOES_NOT_EXIST_564=\u5f8c\u7aef\u8cc7\u6599\u5eab\u76ee\u9304\u300c%s\u300d\u4e0d\u5b58\u5728 |
| | | NOTE_JEB_IMPORT_LDIF_BUFFER_CHECKPOINTS_565=\u5df2\u57f7\u884c\u7684\u6aa2\u67e5\u9ede: %d |
| | | NOTE_JEB_IMPORT_LDIF_CLEANER_STATS_566=\u57f7\u884c\u6e05\u9664\u7a0b\u5f0f: %d\u3001\u5df2\u522a\u9664\u7684\u6a94\u6848: %d\u3001\u5df2\u8b80\u53d6\u7684\u9805\u76ee: %d\u3001\u5df2\u6e05\u9664\u7684 IN \u7bc0\u9ede: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_STATS_567=\u9032\u884c\u4e2d\u7684\u6536\u56de\u3002\u50b3\u9001: %d\u3001\u5df2\u6536\u56de\u7684\u7bc0\u9ede: %d\u3001\u5df2\u522a\u9664\u7684 BIN \u7bc0\u9ede: %d |
| | | NOTE_JEB_IMPORT_LDIF_EVICTION_DETECTED_568=\u5728\u532f\u5165 %d \u500b\u9805\u76ee\u5f8c\u5075\u6e2c\u5230\u6536\u56de |
| | |
| | | NOTE_BACKUP_VERIFY_FILE_319=Verifying backup file: %s |
| | | NOTE_BACKUP_RESTORED_FILE_320=Restored backup file: %s (size %d) |
| | | NOTE_BACKUP_ARCHIVED_FILE_321=Archived backup file: %s |
| | | WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL_322=Could not find any \ |
| | | backup in '%s'. A full backup will be executed |
| | | ERR_BACKUP_CANNOT_GET_MAC_KEY_ID_323=An error occurred while attempting to \ |
| | | obtain the MAC key ID to create the signed hash for the backup %s : %s |
| | | ERR_BACKUP_CANNOT_CREATE_DIRECTORY_TO_RESTORE_FILE_324=An error occurred while \ |
| | |
| | | backup of %s : %s |
| | | ERR_BACKUP_CANNOT_CREATE_SAVE_DIRECTORY_326=An error occurred while \ |
| | | attempting to create a save directory with base path %s before restore of \ |
| | | backup of %s: %s |
| | | backup of %s: %s |
| File was renamed from opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/TestJebFormat.java |
| | |
| | | import static org.testng.Assert.*; |
| | | |
| | | /** |
| | | * JebFormat Tester. |
| | | * DnKeyFormat Tester. |
| | | */ |
| | | @SuppressWarnings("javadoc") |
| | | public class TestJebFormat extends DirectoryServerTestCase { |
| | | public class TestDnKeyFormat extends DirectoryServerTestCase { |
| | | |
| | | private static final String ldifString = |
| | | "dn: uid=user.1,ou=People,dc=example,dc=com\n" |
| | |
| | | public void testFindDnKeyParent(String dn, int expectedLength) throws Exception |
| | | { |
| | | ensureServerIsUpAndRunning(); |
| | | ByteString dnKey = JebFormat.dnToDNKey(DN.valueOf(dn), 0); |
| | | assertThat(JebFormat.findDNKeyParent(dnKey)).isEqualTo(expectedLength); |
| | | ByteString dnKey = DnKeyFormat.dnToDNKey(DN.valueOf(dn), 0); |
| | | assertThat(DnKeyFormat.findDNKeyParent(dnKey)).isEqualTo(expectedLength); |
| | | } |
| | | |
| | | private void ensureServerIsUpAndRunning() throws Exception |