Search in sources :

Example 6 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class IgniteKernal method ackCacheConfiguration.

/**
     *
     */
private void ackCacheConfiguration() {
    CacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration();
    if (cacheCfgs == null || cacheCfgs.length == 0)
        U.warn(log, "Cache is not configured - in-memory data grid is off.");
    else {
        SB sb = new SB();
        HashMap<String, ArrayList<String>> memPlcNamesMapping = new HashMap<>();
        for (CacheConfiguration c : cacheCfgs) {
            String cacheName = U.maskName(c.getName());
            String memPlcName = U.maskName(c.getMemoryPolicyName());
            if (!memPlcNamesMapping.containsKey(memPlcName))
                memPlcNamesMapping.put(memPlcName, new ArrayList<String>());
            ArrayList<String> cacheNames = memPlcNamesMapping.get(memPlcName);
            cacheNames.add(cacheName);
        }
        for (Map.Entry<String, ArrayList<String>> e : memPlcNamesMapping.entrySet()) {
            sb.a("in '").a(e.getKey()).a("' memoryPolicy: [");
            for (String s : e.getValue()) sb.a("'").a(s).a("', ");
            sb.d(sb.length() - 2, sb.length()).a("]");
        }
        U.log(log, "Configured caches [" + sb.toString() + ']');
    }
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Map(java.util.Map) HashMap(java.util.HashMap) CacheConfiguration(org.apache.ignite.configuration.CacheConfiguration) NearCacheConfiguration(org.apache.ignite.configuration.NearCacheConfiguration) SB(org.apache.ignite.internal.util.typedef.internal.SB)

Example 7 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class IgniteKernal method fillNodeAttributes.

/**
     * Creates attributes map and fills it in.
     *
     * @param notifyEnabled Update notifier flag.
     * @throws IgniteCheckedException thrown if was unable to set up attribute.
     */
@SuppressWarnings({ "SuspiciousMethodCalls", "unchecked", "TypeMayBeWeakened" })
private void fillNodeAttributes(boolean notifyEnabled) throws IgniteCheckedException {
    final String[] incProps = cfg.getIncludeProperties();
    try {
        // Stick all environment settings into node attributes.
        for (Map.Entry<String, String> sysEntry : System.getenv().entrySet()) {
            String name = sysEntry.getKey();
            if (incProps == null || U.containsStringArray(incProps, name, true) || U.isVisorNodeStartProperty(name) || U.isVisorRequiredProperty(name))
                ctx.addNodeAttribute(name, sysEntry.getValue());
        }
        if (log.isDebugEnabled())
            log.debug("Added environment properties to node attributes.");
    } catch (SecurityException e) {
        throw new IgniteCheckedException("Failed to add environment properties to node attributes due to " + "security violation: " + e.getMessage());
    }
    try {
        // identical names from environment properties.
        for (Map.Entry<Object, Object> e : snapshot().entrySet()) {
            String key = (String) e.getKey();
            if (incProps == null || U.containsStringArray(incProps, key, true) || U.isVisorRequiredProperty(key)) {
                Object val = ctx.nodeAttribute(key);
                if (val != null && !val.equals(e.getValue()))
                    U.warn(log, "System property will override environment variable with the same name: " + key);
                ctx.addNodeAttribute(key, e.getValue());
            }
        }
        ctx.addNodeAttribute(IgniteNodeAttributes.ATTR_UPDATE_NOTIFIER_ENABLED, notifyEnabled);
        if (log.isDebugEnabled())
            log.debug("Added system properties to node attributes.");
    } catch (SecurityException e) {
        throw new IgniteCheckedException("Failed to add system properties to node attributes due to security " + "violation: " + e.getMessage());
    }
    // Add local network IPs and MACs.
    // Exclude loopbacks.
    String ips = F.concat(U.allLocalIps(), ", ");
    // Only enabled network interfaces.
    String macs = F.concat(U.allLocalMACs(), ", ");
    // Ack network context.
    if (log.isInfoEnabled()) {
        log.info("Non-loopback local IPs: " + (F.isEmpty(ips) ? "N/A" : ips));
        log.info("Enabled local MACs: " + (F.isEmpty(macs) ? "N/A" : macs));
    }
    // Warn about loopback.
    if (ips.isEmpty() && macs.isEmpty())
        U.warn(log, "Ignite is starting on loopback address... Only nodes on the same physical " + "computer can participate in topology.", "Ignite is starting on loopback address...");
    // Stick in network context into attributes.
    add(ATTR_IPS, (ips.isEmpty() ? "" : ips));
    add(ATTR_MACS, (macs.isEmpty() ? "" : macs));
    // Stick in some system level attributes
    add(ATTR_JIT_NAME, U.getCompilerMx() == null ? "" : U.getCompilerMx().getName());
    add(ATTR_BUILD_VER, VER_STR);
    add(ATTR_BUILD_DATE, BUILD_TSTAMP_STR);
    add(ATTR_MARSHALLER, cfg.getMarshaller().getClass().getName());
    add(ATTR_MARSHALLER_USE_DFLT_SUID, getBoolean(IGNITE_OPTIMIZED_MARSHALLER_USE_DEFAULT_SUID, OptimizedMarshaller.USE_DFLT_SUID));
    add(ATTR_LATE_AFFINITY_ASSIGNMENT, cfg.isLateAffinityAssignment());
    add(ATTR_ACTIVE_ON_START, cfg.isActiveOnStart());
    if (cfg.getMarshaller() instanceof BinaryMarshaller) {
        add(ATTR_MARSHALLER_COMPACT_FOOTER, cfg.getBinaryConfiguration() == null ? BinaryConfiguration.DFLT_COMPACT_FOOTER : cfg.getBinaryConfiguration().isCompactFooter());
        add(ATTR_MARSHALLER_USE_BINARY_STRING_SER_VER_2, getBoolean(IGNITE_BINARY_MARSHALLER_USE_STRING_SERIALIZATION_VER_2, BinaryUtils.USE_STR_SERIALIZATION_VER_2));
    }
    add(ATTR_USER_NAME, System.getProperty("user.name"));
    add(ATTR_IGNITE_INSTANCE_NAME, igniteInstanceName);
    add(ATTR_PEER_CLASSLOADING, cfg.isPeerClassLoadingEnabled());
    add(ATTR_DEPLOYMENT_MODE, cfg.getDeploymentMode());
    add(ATTR_LANG_RUNTIME, getLanguage());
    add(ATTR_JVM_PID, U.jvmPid());
    add(ATTR_CLIENT_MODE, cfg.isClientMode());
    add(ATTR_CONSISTENCY_CHECK_SKIPPED, getBoolean(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK));
    if (cfg.getConsistentId() != null)
        add(ATTR_NODE_CONSISTENT_ID, cfg.getConsistentId());
    // Build a string from JVM arguments, because parameters with spaces are split.
    SB jvmArgs = new SB(512);
    for (String arg : U.jvmArgs()) {
        if (arg.startsWith("-"))
            jvmArgs.a("@@@");
        else
            jvmArgs.a(' ');
        jvmArgs.a(arg);
    }
    // Add it to attributes.
    add(ATTR_JVM_ARGS, jvmArgs.toString());
    // Check daemon system property and override configuration if it's set.
    if (isDaemon())
        add(ATTR_DAEMON, "true");
    // node attribute won't be set.
    if (isJmxRemoteEnabled()) {
        String portStr = System.getProperty("com.sun.management.jmxremote.port");
        if (portStr != null)
            try {
                add(ATTR_JMX_PORT, Integer.parseInt(portStr));
            } catch (NumberFormatException ignore) {
            // No-op.
            }
    }
    // Whether restart is enabled and stick the attribute.
    add(ATTR_RESTART_ENABLED, Boolean.toString(isRestartEnabled()));
    // Save port range, port numbers will be stored by rest processor at runtime.
    if (cfg.getConnectorConfiguration() != null)
        add(ATTR_REST_PORT_RANGE, cfg.getConnectorConfiguration().getPortRange());
    // Stick in SPI versions and classes attributes.
    addSpiAttributes(cfg.getCollisionSpi());
    addSpiAttributes(cfg.getDiscoverySpi());
    addSpiAttributes(cfg.getFailoverSpi());
    addSpiAttributes(cfg.getCommunicationSpi());
    addSpiAttributes(cfg.getEventStorageSpi());
    addSpiAttributes(cfg.getCheckpointSpi());
    addSpiAttributes(cfg.getLoadBalancingSpi());
    addSpiAttributes(cfg.getDeploymentSpi());
    // Set user attributes for this node.
    if (cfg.getUserAttributes() != null) {
        for (Map.Entry<String, ?> e : cfg.getUserAttributes().entrySet()) {
            if (ctx.hasNodeAttribute(e.getKey()))
                U.warn(log, "User or internal attribute has the same name as environment or system " + "property and will take precedence: " + e.getKey());
            ctx.addNodeAttribute(e.getKey(), e.getValue());
        }
    }
}
Also used : IgniteCheckedException(org.apache.ignite.IgniteCheckedException) BinaryMarshaller(org.apache.ignite.internal.binary.BinaryMarshaller) Map(java.util.Map) HashMap(java.util.HashMap) SB(org.apache.ignite.internal.util.typedef.internal.SB)

Example 8 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class IgniteKernal method ackRemoteManagement.

/**
     * Acks remote management.
     */
private void ackRemoteManagement() {
    assert log != null;
    if (!log.isInfoEnabled())
        return;
    SB sb = new SB();
    sb.a("Remote Management [");
    boolean on = isJmxRemoteEnabled();
    sb.a("restart: ").a(onOff(isRestartEnabled())).a(", ");
    sb.a("REST: ").a(onOff(isRestEnabled())).a(", ");
    sb.a("JMX (");
    sb.a("remote: ").a(onOff(on));
    if (on) {
        sb.a(", ");
        sb.a("port: ").a(System.getProperty("com.sun.management.jmxremote.port", "<n/a>")).a(", ");
        sb.a("auth: ").a(onOff(Boolean.getBoolean("com.sun.management.jmxremote.authenticate"))).a(", ");
        // By default SSL is enabled, that's why additional check for null is needed.
        // See http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html
        sb.a("ssl: ").a(onOff(Boolean.getBoolean("com.sun.management.jmxremote.ssl") || System.getProperty("com.sun.management.jmxremote.ssl") == null));
    }
    sb.a(")");
    sb.a(']');
    log.info(sb.toString());
}
Also used : SB(org.apache.ignite.internal.util.typedef.internal.SB)

Example 9 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class IgniteKernal method ackStart.

/**
     * Prints start info.
     *
     * @param rtBean Java runtime bean.
     */
private void ackStart(RuntimeMXBean rtBean) {
    ClusterNode locNode = localNode();
    if (log.isQuiet()) {
        U.quiet(false, "");
        U.quiet(false, "Ignite node started OK (id=" + U.id8(locNode.id()) + (F.isEmpty(igniteInstanceName) ? "" : ", instance name=" + igniteInstanceName) + ')');
    }
    if (log.isInfoEnabled()) {
        log.info("");
        String ack = "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR;
        String dash = U.dash(ack.length());
        SB sb = new SB();
        for (GridPortRecord rec : ctx.ports().records()) sb.a(rec.protocol()).a(":").a(rec.port()).a(" ");
        String str = NL + NL + ">>> " + dash + NL + ">>> " + ack + NL + ">>> " + dash + NL + ">>> OS name: " + U.osString() + NL + ">>> CPU(s): " + locNode.metrics().getTotalCpus() + NL + ">>> Heap: " + U.heapSize(locNode, 2) + "GB" + NL + ">>> VM name: " + rtBean.getName() + NL + (igniteInstanceName == null ? "" : ">>> Ignite instance name: " + igniteInstanceName + NL) + ">>> Local node [" + "ID=" + locNode.id().toString().toUpperCase() + ", order=" + locNode.order() + ", clientMode=" + ctx.clientNode() + "]" + NL + ">>> Local node addresses: " + U.addressesAsString(locNode) + NL + ">>> Local ports: " + sb + NL;
        log.info(str);
    }
}
Also used : ClusterNode(org.apache.ignite.cluster.ClusterNode) GridPortRecord(org.apache.ignite.internal.processors.port.GridPortRecord) SB(org.apache.ignite.internal.util.typedef.internal.SB)

Example 10 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class BinaryObjectExImpl method toString.

/**
     * @param ctx Reader context.
     * @param handles Handles for already traversed objects.
     * @return String representation.
     */
private String toString(BinaryReaderHandles ctx, IdentityHashMap<BinaryObject, Integer> handles) {
    int idHash = System.identityHashCode(this);
    int hash = hashCode();
    BinaryType meta;
    try {
        meta = rawType();
    } catch (BinaryObjectException ignore) {
        meta = null;
    }
    if (meta == null || !S.INCLUDE_SENSITIVE)
        return S.toString(S.INCLUDE_SENSITIVE ? BinaryObject.class.getSimpleName() : "BinaryObject", "idHash", idHash, false, "hash", hash, false, "typeId", typeId(), true);
    handles.put(this, idHash);
    SB buf = new SB(meta.typeName());
    if (meta.fieldNames() != null) {
        buf.a(" [idHash=").a(idHash).a(", hash=").a(hash);
        for (String name : meta.fieldNames()) {
            Object val = field(ctx, name);
            buf.a(", ").a(name).a('=');
            appendValue(val, buf, ctx, handles);
        }
        buf.a(']');
    }
    return buf.toString();
}
Also used : BinaryType(org.apache.ignite.binary.BinaryType) BinaryObject(org.apache.ignite.binary.BinaryObject) BinaryObject(org.apache.ignite.binary.BinaryObject) BinaryObjectException(org.apache.ignite.binary.BinaryObjectException) SB(org.apache.ignite.internal.util.typedef.internal.SB)

Aggregations

SB (org.apache.ignite.internal.util.typedef.internal.SB)57 Map (java.util.Map)8 HashMap (java.util.HashMap)5 IOException (java.io.IOException)4 ArrayList (java.util.ArrayList)4 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)4 GridStringBuilder (org.apache.ignite.internal.util.GridStringBuilder)4 IgfsLogger (org.apache.ignite.internal.igfs.common.IgfsLogger)3 InputStream (java.io.InputStream)2 InputStreamReader (java.io.InputStreamReader)2 LineNumberReader (java.io.LineNumberReader)2 URL (java.net.URL)2 URLConnection (java.net.URLConnection)2 Date (java.util.Date)2 HashSet (java.util.HashSet)2 LinkedHashMap (java.util.LinkedHashMap)2 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)2 ObjectName (javax.management.ObjectName)2 BinaryObject (org.apache.ignite.binary.BinaryObject)2 BinaryObjectException (org.apache.ignite.binary.BinaryObjectException)2