river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy C Haas <h...@uwm.edu>
Subject reggie not hearing
Date Mon, 27 Feb 2017 16:38:17 GMT

I've fixed my phoenix ClassNotFound problem.  Turns out, when
I log into the San Diego cluster computer, I'm assigned randomly
to one of their 640 nodes.  Almost always, a different one each time.
I wasn't emptying the phoenix log directory that stored the
node's address from the previous run
of phoenix.  So, phoenix was always trying to reach classerver
on the wrong node.  I now delete all files in the phoenix log
directory before I start phoenix.  I noticed this problem only
because I acted on a suggestion from this forum to use curl to
see if classserver could be reached.  This experience might be
interesting to others working with Apache River on a cluster
computer platform.

I'm now trying to get my application to register with reggie.  The
following error message indicates I'm timing out on the socket.
The output shows that the reggie service (I turned on reggie debugging)
is indeed running and a socket has been connected to.
My SpaceAccessor.java code that tried to register follows.  I'm
using only Apache River jars.  The reggie configuration files
follow that.  I think reggie can be reached on port 4160 but it does
say a different port in the dump (which changes every time the
script runs).  I think reggie is not hearing the registrar request
but I don't know how to debug this or fix it.




INFO: ClassServer started [[/projects/builder-group/jpg/apache-river/lib-dl/,/projects/builder-group/jpg/apache-river/lib/,
river/lib-ext/], port 4160]
Feb 27, 2017 8:04:54 AM org.apache.river.outrigger.OutriggerServerImpl <init>
INFO: Outrigger server started: org.apache.river.outrigger.OutriggerServerImpl@502438db
Feb 27, 2017 8:04:54 AM org.apache.river.phoenix.Activation init
INFO: activation daemon started
Feb 27, 2017 8:04:55 AM org.apache.river.reggie.RegistrarImpl$Unicast <init>
INFO: Reggie Unicast Discovery listening on port 33,814
Feb 27, 2017 8:04:55 AM org.apache.river.reggie.RegistrarImpl$3 run
INFO: started Reggie: 8ed3b539-4a66-4941-941a-17715df5eea9, [nonsecure], jini://
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:152)
        at java.net.SocketInputStream.read(SocketInputStream.java:122)
        at java.io.DataInputStream.readFully(DataInputStream.java:195)
        at org.apache.river.discovery.DiscoveryV2.doUnicastDiscovery(DiscoveryV2.java:460)
        at net.jini.core.discovery.LookupLocator$2.performDiscovery(LookupLocator.java:347)
        at org.apache.river.discovery.internal.MultiIPDiscovery.getSingleResponse(MultiIPDiscovery.java:153)
        at org.apache.river.discovery.internal.MultiIPDiscovery.getResponse(MultiIPDiscovery.java:82)
        at net.jini.core.discovery.LookupLocator.getRegistrar(LookupLocator.java:341)
        at net.jini.core.discovery.LookupLocator.getRegistrar(LookupLocator.java:315)
        at SpaceAccessor.<init>(SpaceAccessor.java:83)

--------------------- Socket info from SpaceAccessor.java -------

spaceaccessor: jiniURL= jini://tscc-2-53.sdsc.edu
locator= jini://tscc-2-53.sdsc.edu:4160/
Port:                 4160
Canonical Host Name:  tscc-2-53.sdsc.edu
Host Address:

Local Address:        /
Local Port:           40406
Local Socket Address: /

Receive Buffer Size:  87379
Send Buffer Size:     330075

Keep-Alive:           false
SO Timeout:           0
isConnected= true
bad request "
bad request "
Read timed out
bad request "

--------------------- SpaceAccessor.java code fragment --------------

import net.jini.core.discovery.LookupLocator;
import net.jini.core.lookup.*;
import net.jini.core.entry.Entry;
import net.jini.space.JavaSpace;
import net.jini.lookup.entry.*;
import java.io.*;
import java.rmi.*;
import java.net.*;
import java.util.*;
import net.jini.discovery.LookupDiscovery;
import net.jini.discovery.DiscoveryListener;
import net.jini.discovery.DiscoveryEvent;
import net.jini.discovery.Constants;

public class SpaceAccessor {

static String jiniURL   = "jini://" + Id.mstrip;

static final long MAX_LOOKUP_WAIT = 2000L;
static final int WAIT = 100000;

JavaSpace space;

public SpaceAccessor() {
LookupLocator locator = null;
ServiceRegistrar registrar = null;

try {
   System.setSecurityManager(new SecurityManager());
catch (Exception e) {

if (Id.client) {
   jiniURL = "jini://" + Id.mstrip + ":4160/";
Id.printf_("spaceaccessor: jiniURL= " + jiniURL);

try {
   locator = new LookupLocator(jiniURL);

   Id.printf_("locator= " + locator.toString());
   Socket socket = new Socket(locator.getHost(),locator.getPort());
   Id.printf_("isConnected= " + (socket.isConnected()));

   registrar = locator.getRegistrar(WAIT);

--------------------- start-reggie.config -----------------------

import org.apache.river.config.ConfigUtil;
import org.apache.river.start.NonActivatableServiceDescriptor;
import org.apache.river.start.ServiceDescriptor;

org.apache.river.start {
   private static policy = "policy.all";
   private static codebasePrefix= " http://" + ConfigUtil.getHostAddress()
   + ":" + port + "/";
   private static codebase = codebasePrefix + "reggie-dl.jar" +
      codebasePrefix + "jsk-dl.jar" +
      codebasePrefix + "reggie.jar" +
      codebasePrefix + "jsk-policy.jar";
    private static classpath =
    private static config = "jrmp-reggie.config";

    static serviceDescriptors = new ServiceDescriptor[] {
new NonActivatableServiceDescriptor(
   codebase, policy, classpath,
            new String[] { config })

--------------------- jrmp-reggie.config -----------------------

 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *      http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.

/* Configure source file for JRMP reggie */

import net.jini.jrmp.JrmpExporter;

org.apache.river.reggie {

    serverExporter = new JrmpExporter();
    initialMemberGroups = new String[] { "nonsecure" };

}//end org.apache.river.reggie

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message