Mon Oct 22, 2018 9:35 am
Login Register Lost Password? Contact Us


ecl from a windows docker

Questions around writing code and queries

Fri Aug 10, 2018 10:16 am Change Time Zone

May be a bit niche this!

So we are able to compile and send jobs using the command line in the following circumstances (Note we are using the base HPCC container available from Docker):

    ecl.exe in windows
    ecl command from linux
    ecl command from a Docker container running on Linux
    ecl command from a Docker container running on Windows without importing our, admittedly rather large, repo
    ecl command from a Docker container running on Windows, importing a couple of ecl files as a test repo

The natural extension to the final case is to run ecl with -I=[our repo location] under Windows which is actually what we want to do. Unfortunately there seems to be an RCP error while communicating with SOAP in this instance. What happens is the code is compiled and sent to the server for deployment but the Workunit is not run, instead hanging at compiled (but will run successfully if you force a resubmit).

Investigation of stack traces indicates that the server returns 200 following deployment but then gives:

poll([{fd=3, events=POLLIN}], 1, 7200000) = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "HTTP/1.1 200 OK\r\nContent-Type: t"..., 1024, 0, NULL, NULL) = 728
clock_gettime(CLOCK_MONOTONIC, {66390, 470470300}) = 0
shutdown(3, SHUT_RDWR) = 0
close(3) = 0
brk(0x10cd000) = 0x10cd000
munmap(0x7f3459e0a000, 675840) = 0
write(1, "\n", 1) = 1
write(1, "Deploying ECL Archive ./big_test"..., 37) = 37
brk(0x10ef000) = 0x10ef000
brk(0x112d000) = 0x112d000
brk(0x118d000) = 0x118d000
brk(0x11ed000) = 0x11ed000
clock_gettime(CLOCK_MONOTONIC, {66390, 478728700}) = 0
clock_gettime(CLOCK_MONOTONIC, {66390, 478945500}) = 0
clock_gettime(CLOCK_MONOTONIC, {66390, 479077100}) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(8010), sin_addr=inet_addr("10.53.57.31")}, 16) = -1 EINPROGRESS (Operation now in progress)
poll([{fd=3, events=POLLOUT}], 1, 2999) = 1 ([{fd=3, revents=POLLOUT}])
getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
fcntl(3, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(3, F_SETFL, O_RDWR) = 0
getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
getsockname(3, {sa_family=AF_INET, sin_port=htons(55116), sin_addr=inet_addr("172.17.0.2")}, [16]) = 0
clock_gettime(CLOCK_MONOTONIC, {66390, 499252700}) = 0
brk(0x122d000) = 0x122d000
clock_gettime(CLOCK_MONOTONIC, {66390, 499474500}) = 0
sendto(3, "POST /WsWorkunits?upload_ HTTP/1"..., 208, MSG_NOSIGNAL, NULL, 0) = 208
clock_gettime(CLOCK_MONOTONIC, {66390, 499701000}) = 0
clock_gettime(CLOCK_MONOTONIC, {66390, 499989200}) = 0
sendto(3, "<?xml version=\"1.0\" encoding=\"ut"..., 131765, MSG_NOSIGNAL, NULL, 0) = 131765
clock_gettime(CLOCK_MONOTONIC, {66390, 502524000}) = 0
clock_gettime(CLOCK_MONOTONIC, {66390, 502868000}) = 0
poll([{fd=3, events=POLLIN}], 1, 7200000) = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "", 1024, 0, NULL, NULL) = 0
clock_gettime(CLOCK_MONOTONIC, {66401, 576057600}) = 0
gettimeofday({1533806883, 187820}, NULL) = 0
gettid() = 49
write(2, "HTTP Status \n", 13) = 13
gettimeofday({1533806883, 190495}, NULL) = 0
gettid() = 49
write(2, "SOAP_RPC_ERROR = \n", 18) = 18
futex(0x7f34590af680, FUTEX_WAKE_PRIVATE, 2147483647) = 0
close(3) = 0
brk(0x10ee000) = 0x10ee000
write(2, "\nSOAP rpc error\n", 16) = 16
exit_group(2) = ?
+++ exited with 2 +++


We have tried to alter Docker's network mode to host but to no avail so are assuming something to do with the size of the repo is allowing the connection to drop? I'm wondering if anyone has encountered similar issues and/or knows of a solution, please?
mansfield_bitter
 
Posts: 4
Joined: Tue Sep 13, 2016 8:13 am

Mon Aug 13, 2018 1:20 pm Change Time Zone

mansfield_bitter,

This is a perfect bug report, which needs to be added to JIRA (https://track.hpccsystems.com) so the developers will absolutely see it (they're not guaranteed to see this post) and can look at the issue. If you add it, you are automatically sent updates tracking the bug fix process. If I add it, you will not be automatically "in the loop" on it, so I suggest you add the report. :)

HTH,

Richard
rtaylor
Community Advisory Board Member
Community Advisory Board Member
 
Posts: 1388
Joined: Wed Oct 26, 2011 7:40 pm


Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest

cron