You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to find if a process is running (the process may or may not be running).
If the process is not running, then the query should return some sort of empty result. Instead I get an error and a big orange box logged to the console with text like:
"ControllerAction request was successfully parsed and routed to plug-in filter delegate [r-JgxABoS_a-mSE2c1nvKA::Cell Process Manager: Process Query]. But, the plug-in rejected the request with error: Filter [r-JgxABoS_a-mSE2c1nvKA::Cell Process Manager: Process Query] failed while performing main operation. Filter [CxS4tmxfRdSF6C7pljlm5Q::cpmLib: Get Cell Process Descriptor] failed while performing main operation. Invalid cellProcessID specified. No active cell process with ID 'zkhowzwqMaTMU8prQEM_yA'. From the perspective of this error handler it's difficult to say precisely what this error means given the broad semantics of ControllerAction plug-in filters. Here is a list of possible problems in decreasing order of liklihood: Your request format may be invalid above the point in the request data where the message router made its delegate selection and this error is the plug-in rejecting the request entirely. Or, the selected ControllerAction plug-in filter may implement some sort of additional input value validation that constrains the permissible input beyond what's examined by the message router and ControllerAction plug-in filters. And, you've violated API constraints. Or, you have made a valid request but applied the action to the wrong type of cell (i.e. you think you're acting on a cell bound to APM X but it's really bound to a Y). Or, the cell you're attempting to act upon is not in the correct process step or otherwise prepared to accept or take action on behalf of the caller. Or, there's a bug in the ControllerAction plug-in filter itself. If you track down the source of this error and it's not on this list please report it!" ....
I would normally expect the semantics of a query to be such that not finding the thing that I query would return an empty result not an error.
The text was updated successfully, but these errors were encountered:
phil-kahrl
changed the title
queryCellProcess should not log an error if it can't find the process for the passed apmID
queryCellProcess should not return an error if it can't find the process for the passed apmID
Sep 29, 2020
I had not conceived a use case for query process as an existential mechanism; the only cell process that's ever known to be active is the Cell Process Manager, ~. And, insofar as you can query ~, you can find all active cell processes.
This may not be 100% practical. But, I need to understand why you are querying a non-existent cell process? What is that you're trying to accomplish?
I want to construct a "grid" of cells. Each cell in the grid should have "neighbors" which are in namespaces within it's APM that are connected to cell processes via proxy. Each cell process uses the same APM but the "uniqueName" for the cell process is derived from its coordinates in the grid, "0-0", "0-1" etc. As each cell initializes and transitions from "uninitialized" to its starting state, it is responsible for connecting via proxy to it's neighbors. Since proxy connect requires a running cell process then each cell must start a cell process for a neighbor if the cell process is not running. The cell process for a neighbor may or may not exist since it could have already been started by another cell process's initialization routine. Running the cell process activate on a cell that is already running with the same unique name returns an error, querying the cell returns an error, and it is not possible to connect without the cell process already activated (running), so there is no way to handle this case without getting an error response from "act".
Build info: "appgen": "@encapsule/holistic v0.0.46 crossroads KdclOLg3SyqYSF6u2YUbDg 8e52b7dc753f874256a631b2244721553e41a5dd 2020-09-29T18:58:04.000Z",
Using cell processor query such as:
I want to find if a process is running (the process may or may not be running).
If the process is not running, then the query should return some sort of empty result. Instead I get an error and a big orange box logged to the console with text like:
"ControllerAction request was successfully parsed and routed to plug-in filter delegate [r-JgxABoS_a-mSE2c1nvKA::Cell Process Manager: Process Query]. But, the plug-in rejected the request with error: Filter [r-JgxABoS_a-mSE2c1nvKA::Cell Process Manager: Process Query] failed while performing main operation. Filter [CxS4tmxfRdSF6C7pljlm5Q::cpmLib: Get Cell Process Descriptor] failed while performing main operation. Invalid cellProcessID specified. No active cell process with ID 'zkhowzwqMaTMU8prQEM_yA'. From the perspective of this error handler it's difficult to say precisely what this error means given the broad semantics of ControllerAction plug-in filters. Here is a list of possible problems in decreasing order of liklihood: Your request format may be invalid above the point in the request data where the message router made its delegate selection and this error is the plug-in rejecting the request entirely. Or, the selected ControllerAction plug-in filter may implement some sort of additional input value validation that constrains the permissible input beyond what's examined by the message router and ControllerAction plug-in filters. And, you've violated API constraints. Or, you have made a valid request but applied the action to the wrong type of cell (i.e. you think you're acting on a cell bound to APM X but it's really bound to a Y). Or, the cell you're attempting to act upon is not in the correct process step or otherwise prepared to accept or take action on behalf of the caller. Or, there's a bug in the ControllerAction plug-in filter itself. If you track down the source of this error and it's not on this list please report it!" ....
I would normally expect the semantics of a query to be such that not finding the thing that I query would return an empty result not an error.
The text was updated successfully, but these errors were encountered: