Search in sources :

Example 1 with IndexValidationIssue

use of org.apache.ignite.internal.visor.verify.IndexValidationIssue in project ignite by apache.

the class CacheValidateIndexes method execute.

/**
 * {@inheritDoc}
 */
@Override
public Object execute(GridClientConfiguration clientCfg, Logger logger) throws Exception {
    VisorValidateIndexesTaskArg taskArg = new VisorValidateIndexesTaskArg(args.caches(), args.nodeId() != null ? Collections.singleton(args.nodeId()) : null, args.checkFirst(), args.checkThrough(), args.checkCrc(), args.checkSizes());
    try (GridClient client = Command.startClient(clientCfg)) {
        VisorValidateIndexesTaskResult taskRes = executeTaskByNameOnNode(client, "org.apache.ignite.internal.visor.verify.VisorValidateIndexesTask", taskArg, null, clientCfg);
        boolean errors = CommandLogger.printErrors(taskRes.exceptions(), "Index validation failed on nodes:", logger);
        for (Entry<UUID, VisorValidateIndexesJobResult> nodeEntry : taskRes.results().entrySet()) {
            VisorValidateIndexesJobResult jobRes = nodeEntry.getValue();
            if (!jobRes.hasIssues())
                continue;
            errors = true;
            logger.info("Index issues found on node " + nodeEntry.getKey() + ":");
            for (IndexIntegrityCheckIssue is : jobRes.integrityCheckFailures()) logger.info(INDENT + is);
            for (Entry<PartitionKey, ValidateIndexesPartitionResult> e : jobRes.partitionResult().entrySet()) {
                ValidateIndexesPartitionResult res = e.getValue();
                if (!res.issues().isEmpty()) {
                    logger.info(INDENT + join(" ", e.getKey(), e.getValue()));
                    for (IndexValidationIssue is : res.issues()) logger.info(DOUBLE_INDENT + is);
                }
            }
            for (Entry<String, ValidateIndexesPartitionResult> e : jobRes.indexResult().entrySet()) {
                ValidateIndexesPartitionResult res = e.getValue();
                if (!res.issues().isEmpty()) {
                    logger.info(INDENT + join(" ", "SQL Index", e.getKey(), e.getValue()));
                    for (IndexValidationIssue is : res.issues()) logger.info(DOUBLE_INDENT + is);
                }
            }
            for (Entry<String, ValidateIndexesCheckSizeResult> e : jobRes.checkSizeResult().entrySet()) {
                ValidateIndexesCheckSizeResult res = e.getValue();
                Collection<ValidateIndexesCheckSizeIssue> issues = res.issues();
                if (issues.isEmpty())
                    continue;
                logger.info(INDENT + join(" ", "Size check", e.getKey(), res));
                for (ValidateIndexesCheckSizeIssue issue : issues) logger.info(DOUBLE_INDENT + issue);
            }
        }
        if (!errors)
            logger.info("no issues found.");
        else
            logger.severe("issues found (listed above).");
        logger.info("");
        return taskRes;
    }
}
Also used : IndexValidationIssue(org.apache.ignite.internal.visor.verify.IndexValidationIssue) GridClient(org.apache.ignite.internal.client.GridClient) ValidateIndexesCheckSizeIssue(org.apache.ignite.internal.visor.verify.ValidateIndexesCheckSizeIssue) VisorValidateIndexesJobResult(org.apache.ignite.internal.visor.verify.VisorValidateIndexesJobResult) IndexIntegrityCheckIssue(org.apache.ignite.internal.visor.verify.IndexIntegrityCheckIssue) PartitionKey(org.apache.ignite.internal.processors.cache.verify.PartitionKey) VisorValidateIndexesTaskResult(org.apache.ignite.internal.visor.verify.VisorValidateIndexesTaskResult) UUID(java.util.UUID) VisorValidateIndexesTaskArg(org.apache.ignite.internal.visor.verify.VisorValidateIndexesTaskArg) ValidateIndexesCheckSizeResult(org.apache.ignite.internal.visor.verify.ValidateIndexesCheckSizeResult) ValidateIndexesPartitionResult(org.apache.ignite.internal.visor.verify.ValidateIndexesPartitionResult)

Aggregations

UUID (java.util.UUID)1 GridClient (org.apache.ignite.internal.client.GridClient)1 PartitionKey (org.apache.ignite.internal.processors.cache.verify.PartitionKey)1 IndexIntegrityCheckIssue (org.apache.ignite.internal.visor.verify.IndexIntegrityCheckIssue)1 IndexValidationIssue (org.apache.ignite.internal.visor.verify.IndexValidationIssue)1 ValidateIndexesCheckSizeIssue (org.apache.ignite.internal.visor.verify.ValidateIndexesCheckSizeIssue)1 ValidateIndexesCheckSizeResult (org.apache.ignite.internal.visor.verify.ValidateIndexesCheckSizeResult)1 ValidateIndexesPartitionResult (org.apache.ignite.internal.visor.verify.ValidateIndexesPartitionResult)1 VisorValidateIndexesJobResult (org.apache.ignite.internal.visor.verify.VisorValidateIndexesJobResult)1 VisorValidateIndexesTaskArg (org.apache.ignite.internal.visor.verify.VisorValidateIndexesTaskArg)1 VisorValidateIndexesTaskResult (org.apache.ignite.internal.visor.verify.VisorValidateIndexesTaskResult)1