Class AllocateServerSocketServlet
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,CartePluginInterface
,CarteServletInterface
This port number will be allocated in such a way that the port number is unique for a given hostname.
This in turn will ensure that all the slaves will use valid port numbers, even if multiple slaves run on the same host.
- Author:
- matt
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class org.pentaho.di.www.BaseHttpServlet
detections, jobMap, log, socketRepository, transformationMap
-
Constructor Summary
-
Method Summary
Methods inherited from class org.pentaho.di.www.BaseHttpServlet
convertContextPath, doDelete, doPost, doPut, getDetections, getJobMap, getSocketRepository, getTransformationMap, isJettyMode, logBasic, logBasic, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logRowlevel, setJettyMode, setup
Methods inherited from class javax.servlet.http.HttpServlet
doHead, doOptions, doTrace, getLastModified, service, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.pentaho.di.www.CartePluginInterface
isJettyMode, setJettyMode, setup
-
Field Details
-
CONTEXT_PATH
- See Also:
-
PARAM_RANGE_START
- See Also:
-
PARAM_HOSTNAME
- See Also:
-
PARAM_ID
- See Also:
-
PARAM_TRANSFORMATION_NAME
- See Also:
-
PARAM_SOURCE_SLAVE
- See Also:
-
PARAM_SOURCE_STEPNAME
- See Also:
-
PARAM_SOURCE_STEPCOPY
- See Also:
-
PARAM_TARGET_SLAVE
- See Also:
-
PARAM_TARGET_STEPNAME
- See Also:
-
PARAM_TARGET_STEPCOPY
- See Also:
-
XML_TAG_PORT
- See Also:
-
-
Constructor Details
-
AllocateServerSocketServlet
public AllocateServerSocketServlet() -
AllocateServerSocketServlet
-
-
Method Details
-
doGet
public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException /kettle/allocateSocket
GET
Allocates port to use by client. Allows any client to ask for a port number to use. This is necessary several slaves can be run on the same host. The method ensures the port number is unique for host name provided and makes sure the slaves are using valid port numbers. Data communication across a cluster of Carte servers happens through TCP/IP sockets. Slave transformations sometimes open (or listen to) tens to hundreds of sockets. When you want to allocate the port numbers for data communication between slave transformation in a kettle clustering run, you need unique combinations of all the parameters below.
port number
will be returned in the Response object. If an error occurred you'll receive html output describing the problem. HTTP status code of such response is 500.Example Request:
GET /kettle/allocateSocket/?xml=Y&rangeStart=100&host=locahost&id=clust&trans=my_trans&sourceSlave=slave_1 &sourceStep=200&sourceCopy=1&targetSlave=slave_2&targetStep=50&targetCopy=1
Parameters
name description type xml Boolean flag set to either Y
orN
describing if xml or html reply should be produced.boolean, optional rangeStart Port number to start looking from. integer host Port's host. query id Carte container id. query trans Running transformation id. query sourceSlave Name of the source slave server. query sourceStep Port number step used on source slave server. integer sourceCopy Number of copies of the step on source server. integer targetSlave Name of the target slave server. query targetStep Port number step used on target slave server. integer targetCopy Number of copies of the step on target server. integer Response Body
element: (custom) media types: text/xml, text/html Response wraps port number that was allocated or error stack trace if an error occurred. Response HTTP code is 200 if there were no errors. Otherwise it is 500.
Example Response:
<?xml version="1.0" encoding="UTF-8"?>
100 Status Codes
code description 200 Request was processed and XML response is returned. 500 Internal server error occurs during request processing. This might also be caused by missing request parameter. - Specified by:
doGet
in interfaceCartePluginInterface
- Overrides:
doGet
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
IOException
-
toString
-
getService
- Specified by:
getService
in interfaceCarteServletInterface
-
getContextPath
- Specified by:
getContextPath
in interfaceCartePluginInterface
-