Package at.molindo.esi4j.rebuild.util

Examples of at.molindo.esi4j.rebuild.util.BulkIndexHelper$Session


            new ElasticSearchDownloader(client, indexName, "_type:" + mapping.getTypeAlias(), factory),
            elasticSearchSorter, iteratorFactory, workingDirectory);

        long start = System.currentTimeMillis();

        BulkIndexHelper h = new BulkIndexHelper().setMaxRunning(2);
        h.setResponseHandler(new BulkIndexHelper.IResponseHandler() {

          @Override
          public void handle(String id, String type) {
            if ("delete".equals(type)) {
              onDelete(mapping.getTypeClass(), mapping.toId(id));
            } else if ("index".equals(type)) {
              onIndex(mapping.getTypeClass(), mapping.toId(id));
            } else if ("create".equals(type)) {
              onCreate(mapping.getTypeClass(), mapping.toId(id));
            } else {
              log.warn("unexpected operation type {}", type);
            }
          }
        });

        VerifierListener listener = new VerifierListener(client, indexName, context, mapping, h,
            DEFAULT_BATCH_SIZE);

        try {
          verify(moduleStream, esStream, listener);
        } finally {
          /*
           * TODO let IdAndVersionStreamVerifier do that as it does
           * with streams
           */
          listener.close();
        }

        try {
          h.await();

          long seconds = (System.currentTimeMillis() - start) / 1000;

          // logging
          StringBuilder logMsg = new StringBuilder("finished indexing of ").append(h.getSucceeded())
              .append(" objects of type ").append(rebuildSession.getType().getName()).append(" in ")
              .append(seconds).append(" seconds");

          if (h.getFailed() > 0) {
            logMsg.append(" (").append(h.getFailed()).append(" failed)");
            log.warn(logMsg.toString());
          } else {
            log.info(logMsg.toString());
          }

View Full Code Here


        ElasticSearchIdAndVersionStream esStream = new ElasticSearchIdAndVersionStream(
            new ElasticSearchDownloader(client, indexName, "_type:" + mapping.getTypeAlias(), factory),
            elasticSearchSorter, iteratorFactory, workingDirectory);

        BulkIndexHelper bulkHelper = new BulkIndexHelper().setMaxRunning(2);
        bulkHelper.setResponseHandler(new BulkIndexHelper.IResponseHandler() {

          @Override
          public void handle(String id, String type) {
            if ("delete".equals(type)) {
              onDelete(mapping.getTypeClass(), mapping.toId(id));
View Full Code Here

        ElasticSearchIdAndVersionStream esStream = new ElasticSearchIdAndVersionStream(
            new ElasticSearchDownloader(client, indexName, "_type:" + mapping.getTypeAlias(), factory),
            elasticSearchSorter, iteratorFactory, workingDirectory);

        BulkIndexHelper bulkHelper = new BulkIndexHelper().setMaxRunning(2);
        bulkHelper.setResponseHandler(new BulkIndexHelper.IResponseHandler() {

          @Override
          public void handle(String id, String type) {
            if ("delete".equals(type)) {
              onDelete(mapping.getTypeClass(), mapping.toId(id));
View Full Code Here

    index.updateMapping(type);

    try {

      BulkIndexHelper h = new BulkIndexHelper().setMaxRunning(getMaxRunning());

      List<?> list;
      while ((list = rebuildSession.getNext(_batchSize)).size() > 0) {
        h.bulkIndex(index, list);
      }

      h.await();

      long seconds = (System.currentTimeMillis() - start) / 1000;

      // logging
      StringBuilder logMsg = new StringBuilder("finished indexing of ").append(h.getSucceeded())
          .append(" objects of type ").append(type.getName()).append(" in ").append(seconds)
          .append(" seconds");

      if (h.getFailed() > 0) {
        logMsg.append(" (").append(h.getFailed()).append(" failed)");
        log.warn(logMsg.toString());
      } else {
        log.info(logMsg.toString());
      }
View Full Code Here

            new ElasticSearchDownloader(client, indexName, "_type:" + mapping.getTypeAlias(), factory),
            elasticSearchSorter, iteratorFactory, workingDirectory);

        long start = System.currentTimeMillis();

        BulkIndexHelper h = new BulkIndexHelper().setMaxRunning(2);
        h.setResponseHandler(new BulkIndexHelper.IResponseHandler() {

          @Override
          public void handle(String id, String type) {
            if ("delete".equals(type)) {
              onDelete(mapping.getTypeClass(), mapping.toId(id));
            } else {
              onIndex(mapping.getTypeClass(), mapping.toId(id));
            }
          }

        });

        VerifierListener listener = new VerifierListener(client, indexName, context, mapping, h,
            DEFAULT_BATCH_SIZE);

        try {
          verify(moduleStream, esStream, listener);
        } finally {
          /*
           * TODO let IdAndVersionStreamVerifier do that as it does
           * with streams
           */
          listener.close();
        }

        try {
          h.await();

          long seconds = (System.currentTimeMillis() - start) / 1000;

          // logging
          StringBuilder logMsg = new StringBuilder("finished indexing of ").append(h.getSucceeded())
              .append(" objects of type ").append(rebuildSession.getType().getName()).append(" in ")
              .append(seconds).append(" seconds");

          if (h.getFailed() > 0) {
            logMsg.append(" (").append(h.getFailed()).append(" failed)");
            log.warn(logMsg.toString());
          } else {
            log.info(logMsg.toString());
          }

View Full Code Here

      if (isAuthenticated == false)
        throw new IOException("Authentication failed.");

      /* Create a session */

      Session sess = conn.openSession();

      sess.execCommand("uname -a && date && uptime && who");

      System.out.println("Here is some information about the remote host:");

      /*
       * This basic example does not handle stderr, which is sometimes dangerous
       * (please read the FAQ).
       */

      InputStream stdout = new StreamGobbler(sess.getStdout());

      BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

      while (true)
      {
        String line = br.readLine();
        if (line == null)
          break;
        System.out.println(line);
      }

      /* Show exit status, if available (otherwise "null") */

      System.out.println("ExitCode: " + sess.getExitStatus());

      /* Close this session */

      sess.close();

      /* Close the connection */

      conn.close();

 
View Full Code Here

      if (isAuthenticated == false)
        throw new IOException("Authentication failed.");

      /* Create a session */

      Session sess = conn.openSession();

      sess.execCommand("echo \"Huge amounts of text on STDOUT\"; echo \"Huge amounts of text on STDERR\" >&2");

      /*
       * Advanced:
       * The following is a demo on how one can read from stdout and
       * stderr without having to use two parallel worker threads (i.e.,
       * we don't use the Streamgobblers here) and at the same time not
       * risking a deadlock (due to a filled SSH2 channel window, caused
       * by the stream which you are currently NOT reading from =).
       */

      /* Don't wrap these streams and don't let other threads work on
       * these streams while you work with Session.waitForCondition()!!!
       */

      InputStream stdout = sess.getStdout();
      InputStream stderr = sess.getStderr();

      byte[] buffer = new byte[8192];

      while (true)
      {
        if ((stdout.available() == 0) && (stderr.available() == 0))
        {
          /* Even though currently there is no data available, it may be that new data arrives
           * and the session's underlying channel is closed before we call waitForCondition().
           * This means that EOF and STDOUT_DATA (or STDERR_DATA, or both) may
           * be set together.
           */

          int conditions = sess.waitForCondition(ChannelCondition.STDOUT_DATA | ChannelCondition.STDERR_DATA
              | ChannelCondition.EOF, 2000);

          /* Wait no longer than 2 seconds (= 2000 milliseconds) */

          if ((conditions & ChannelCondition.TIMEOUT) != 0)
          {
            /* A timeout occured. */
            throw new IOException("Timeout while waiting for data from peer.");
          }

          /* Here we do not need to check separately for CLOSED, since CLOSED implies EOF */

          if ((conditions & ChannelCondition.EOF) != 0)
          {
            /* The remote side won't send us further data... */

            if ((conditions & (ChannelCondition.STDOUT_DATA | ChannelCondition.STDERR_DATA)) == 0)
            {
              /* ... and we have consumed all data in the local arrival window. */
              break;
            }
          }

          /* OK, either STDOUT_DATA or STDERR_DATA (or both) is set. */

          // You can be paranoid and check that the library is not going nuts:
          // if ((conditions & (ChannelCondition.STDOUT_DATA | ChannelCondition.STDERR_DATA)) == 0)
          //  throw new IllegalStateException("Unexpected condition result (" + conditions + ")");
        }

        /* If you below replace "while" with "if", then the way the output appears on the local
         * stdout and stder streams is more "balanced". Addtionally reducing the buffer size
         * will also improve the interleaving, but performance will slightly suffer.
         * OKOK, that all matters only if you get HUGE amounts of stdout and stderr data =)
         */

        while (stdout.available() > 0)
        {
          int len = stdout.read(buffer);
          if (len > 0) // this check is somewhat paranoid
            System.out.write(buffer, 0, len);
        }

        while (stderr.available() > 0)
        {
          int len = stderr.read(buffer);
          if (len > 0) // this check is somewhat paranoid
            System.err.write(buffer, 0, len);
        }
      }

      /* Close this session */

      sess.close();

      /* Close the connection */

      conn.close();

 
View Full Code Here

         *
         * AUTHENTICATION OK. DO SOMETHING.
         *
         */

        Session sess = conn.openSession();

        int x_width = 90;
        int y_width = 30;

        sess.requestPTY("dumb", x_width, y_width, 0, 0, null);
        sess.startShell();

        TerminalDialog td = new TerminalDialog(loginFrame, username + "@" + hostname, sess, x_width, y_width);

        /* The following call blocks until the dialog has been closed */

 
View Full Code Here

      if (isAuthenticated == false)
        throw new IOException("Authentication failed.");

      /* Create a session */

      Session sess = conn.openSession();

      sess.execCommand("uname -a && date && uptime && who");

      System.out.println("Here is some information about the remote host:");

      /*
       * This basic example does not handle stderr, which is sometimes dangerous
       * (please read the FAQ).
       */

      InputStream stdout = new StreamGobbler(sess.getStdout());

      BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

      while (true)
      {
        String line = br.readLine();
        if (line == null)
          break;
        System.out.println(line);
      }

      /* Show exit status, if available (otherwise "null") */

      System.out.println("ExitCode: " + sess.getExitStatus());

      /* Close this session */

      sess.close();

      /* Close the connection */

      conn.close();

 
View Full Code Here

      if (isAuthenticated == false)
        throw new IOException("Authentication failed.");

      /* Create a session */

      Session sess = conn.openSession();

      sess.execCommand("echo \"Text on STDOUT\"; echo \"Text on STDERR\" >&2");

      InputStream stdout = new StreamGobbler(sess.getStdout());
      InputStream stderr = new StreamGobbler(sess.getStderr());
 
      BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));
      BufferedReader stderrReader = new BufferedReader(new InputStreamReader(stderr));
     
      System.out.println("Here is the output from stdout:");
 
      while (true)
      {
        String line = stdoutReader.readLine();
        if (line == null)
          break;
        System.out.println(line);
      }
     
      System.out.println("Here is the output from stderr:");
     
      while (true)
      {
        String line = stderrReader.readLine();
        if (line == null)
          break;
        System.out.println(line);
      }
     
      /* Close this session */
     
      sess.close();

      /* Close the connection */

      conn.close();

 
View Full Code Here

TOP

Related Classes of at.molindo.esi4j.rebuild.util.BulkIndexHelper$Session

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.