Error "Could not execute function call "< DataFunctionName>" Cannot connect to host "< NM_hosting_TERRService>" executing TERR data functions in TIBCO Spotfire Web Player or Automation Services
book
Article ID: KB0076132
calendar_today
Updated On:
Products
Versions
Spotfire Enterprise Runtime for R - Server Edition
All
Spotfire Automation Services
10.0 and higher
Description
When executing TERR data functions from the TIBCO Spotfire Web Player or Automation Services targeting a TERR service installed on a different Node Manager, the data function may fail to execute and you may see the following errors in the respective Web Player or Automation Service logs captured in DEBUG mode:
DEBUG;2020-02-17T00:38:01,986-08:00;2020-02-17 08:38:01,986;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Executing function on executor." DEBUG;2020-02-17T00:38:01,986-08:00;2020-02-17 08:38:01,986;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.ScriptTrust.ScriptTrustService;"Script 'TempConvert' is not trusted. None of the script hashes can be found in the the library. Hash: 'sha512=b0fdb81cf07dc904fb3e36d7dbe78f085235473ec40e3a943de66847a5cb8029b544b1ae85629106b5bdd56a080af6cebf7402ca30b3b9d73bc42be71a270faf', OldHash: '59A904B6905767A62A4C18D8148BB40AEC345738', OldHash2: '59A904B6905767A62A4C18D8148BB40AEC345738'" DEBUG;2020-02-17T00:38:01,986-08:00;2020-02-17 08:38:01,986;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor;"Creating function client for non-approved function 'TempConvert'." DEBUG;2020-02-17T00:38:01,986-08:00;2020-02-17 08:38:01,986;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;41;;;Spotfire.Dxp.Worker.Host.LoggingEndpointBehavior+LoggingMessageInspector;"RequestEnd;https://tsnm-webplayer.boston.local:9501/8d47a05b-ad04-4bb3-9516-88470aae6595/analysisService/Request/2aef0e2a6daf323449f0995f745533ef/Uz79XrOuqUGoCwn2Pgns4-162054435600-z;15" DEBUG;2020-02-17T00:38:01,986-08:00;2020-02-17 08:38:01,986;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;41;;;Spotfire.Dxp.Worker.Host.LoggingEndpointBehavior+LoggingMessageInspector;"RequestEnd;https://tsnm-webplayer.boston.local:9501/8d47a05b-ad04-4bb3-9516-88470aae6595/analysisServiceStreaming/WebViewRead/2aef0e2a6daf323449f0995f745533ef/Uz79XrOuqUGoCwn2Pgns4-162054435600-z?wavid=0;0" DEBUG;2020-02-17T00:38:02,017-08:00;2020-02-17 08:38:02,017;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor;"Created a TERR service client. evalREX=True" DEBUG;2020-02-17T00:38:02,080-08:00;2020-02-17 08:38:02,080;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.Executors.TerrServiceSessionService;"Using direct service connection to https://tsnm-terrservice.boston.local:9502 with correlationId 1ea7010e-a96d-46a2-b2f3-6bdb2ba828b0" DEBUG;2020-02-17T00:38:02,080-08:00;2020-02-17 08:38:02,080;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/config" DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.NativeWebResponse;"Send Request failed with 12029, using 42b88571bf6443838856aba2f50d003e, by GET, to https://tsnm-terrservice.boston.local:9502/config." DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.Persistence.ProducerResult;"Disposing view __InputTable__5583737c-e615-40c0-a3e7-23150e69097a with id de05ab85-c3ca-4c75-94cb-f1dd90a7b156" DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;3;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.Utilities.ServerLoggerManager;"Server log manager did not log Audit since category is disabled: 2020-02-17T00:38:02,095-08:00, 10.98.48.64, datafunction_wp, execute, False, , TempConvert, 1. Select Data > Add... Source function: TempConvert Library identifier: fc342869-ea53-4727-bc00-bb379cc9ae8b Type: R script – TIBCO Enterprise Runtime for R Input parameters Name: x Type: Column Required: Yes Allowed data types: Integer Real Output parameters Name: out Type: Table Caching allowed: No Script: # Define the convertTemperature function: # converts temperature from Degree celsius to Fahrenheit. convertTemperature <- function(x) { x*(9/5) + 32 } # Run the function to produce the output: out <- convertTemperature(x); Update behavior: Manual Inputs Name: x Input expression: [Data Table].[x] Data limited by: Marking Input limited to unique values: No Outputs Name: out Created data table: out , 111, , , 8d47a05b-ad04-4bb3-9516-88470aae6595." DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Invoking (but wait) on application thread for model 'TempConvert'." DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Web.WebApplicationThread;"Invoking through InvokeButWaitIfModalOperationIsRunning." DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1 WAT 6;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataTable;"Setting refreshing on table out to False." DEBUG;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Web.WebApplicationThread;"Done invoking through InvokeButWaitIfModalOperationIsRunning." ERROR;2020-02-17T00:38:02,095-08:00;2020-02-17 08:38:02,095;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 71;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.ApplicationModel.NotificationService;"Could not execute function call 'TempConvert' Cannot connect to host 'tsnm-terrservice.boston.local'. at Spotfire.Dxp.Data.DataFunctions.Executors.TerrServiceClient.RunFunction(DataFunctionInvocation invocation) at Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor.<ExecuteFunction>d__13.MoveNext() at Spotfire.Dxp.Data.DataFunctions.DataFunctionExecutorService.<ExecuteFunction>d__3.MoveNext()
Issue/Introduction
This article explains about the TERR service port accessibility to allow execution from TIBCO Spotfire Web Player or Automation Services
Resolution
In order to allow the execution of TERR data functions from TIBCO Spotfire Web Player or Automation Services, the Node Manager machines hosting those services must have access to the TERR service port. This is mainly applicable if the TERR service and Web Player/Automation Services services are installed on different Node Manager machines. So whatever port TERR service uses, default (which is 9502) or custom configured port (other than default), that port must be allowed to communicate from the Node Manager machines where Web Player and Automation Services are configured. The necessary firewall exceptions must be made on all machines.
Without a TERR service installed, ideally there is no need for two different Node Manager machines to communicate directly with each other. In that case the only requirement is that the TIBCO Spotfire Server and respective Node Manager machines should communicate with each other on the given ports. However, with TERR service installed, the respective Node manager Machines must be allowed to communicate on the TERR service port.
With successful communication to TERR service we see below logs in Web Player service logs:
DEBUG;2020-02-17T00:49:28,206-08:00;2020-02-17 08:49:28,206;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Executing function for model 'TempConvert'." DEBUG;2020-02-17T00:49:28,206-08:00;2020-02-17 08:49:28,206;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Executing function on executor." DEBUG;2020-02-17T00:49:28,206-08:00;2020-02-17 08:49:28,206;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.ScriptTrust.ScriptTrustService;"Script 'TempConvert' is not trusted. None of the script hashes can be found in the the library. Hash: 'sha512=b0fdb81cf07dc904fb3e36d7dbe78f085235473ec40e3a943de66847a5cb8029b544b1ae85629106b5bdd56a080af6cebf7402ca30b3b9d73bc42be71a270faf', OldHash: '59A904B6905767A62A4C18D8148BB40AEC345738', OldHash2: '59A904B6905767A62A4C18D8148BB40AEC345738'" DEBUG;2020-02-17T00:49:28,206-08:00;2020-02-17 08:49:28,206;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor;"Creating function client for non-approved function 'TempConvert'." DEBUG;2020-02-17T00:49:28,206-08:00;2020-02-17 08:49:28,206;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor;"Created a TERR service client. evalREX=True" DEBUG;2020-02-17T00:49:28,237-08:00;2020-02-17 08:49:28,237;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.Executors.TerrServiceSessionService;"Using direct service connection to https://tsnm-terrservice.boston.local:9502 with correlationId 0a9666a6-addb-447c-b076-0dfbf7d7ff3f" DEBUG;2020-02-17T00:49:28,237-08:00;2020-02-17 08:49:28,237;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/config" DEBUG;2020-02-17T00:49:28,237-08:00;2020-02-17 08:49:28,237;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/job" DEBUG;2020-02-17T00:49:28,284-08:00;2020-02-17 08:49:28,284;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/job" DEBUG;2020-02-17T00:49:28,440-08:00;2020-02-17 08:49:28,440;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/job" DEBUG;2020-02-17T00:49:28,440-08:00;2020-02-17 08:49:28,440;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/jobresponse" DEBUG;2020-02-17T00:49:28,440-08:00;2020-02-17 08:49:28,440;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Framework.HttpClient.HttpClient;"Create Spotfire request to non spotfire server https://tsnm-terrservice.boston.local:9502/resource/out.sbdf" DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Finished executing function on executor." DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Creating output data for model 'TempConvert'." DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Adding output result reader for function 'TempConvert' and output 'out'." DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.Persistence.ProducerResult;"Adding CxxViewResult 9b8be74f-a6ca-4313-958f-e620844c0cc4 with id 55fde157-faa7-4224-9a57-d69e3613e45a" DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.ColumnFactory;"Imported 4 rows, 1 columns." DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.DataFunctions.DataFunctionImpl+DataFunctionWorkItemState;"Updating cache." DEBUG;2020-02-17T00:49:28,456-08:00;2020-02-17 08:49:28,456;8d47a05b-ad04-4bb3-9516-88470aae6595;162054435600-z;WorkThread 75;user1;2aef0e2a6daf323449f0995f745533ef;Spotfire.Dxp.Data.Persistence.ProducerResult;"Disposing view __InputTable__dc696177-3fdd-4104-b77d-f0c3877fd8d9 with id 9e539ae5-9749-4fa0-82b8-54f7ebc9f501"