I took a brief look as to why the queryable state server would bind to the loopback address. Both the qs server and the org.apache.flink.runtime.io.network.netty.NettyServer do bind the local address based on the TM address. That address is based on the "taskmanager.hostname" configuration override and, by default, the RpcService address.
A possible explanation is that, on Joe's machine, Java's `InetAddress.getLocalHost()` resolves to the loopback address. I believe there's some variation in Java's behavior in that regard. Hope this helps! On Thu, Aug 30, 2018 at 1:27 AM Till Rohrmann <trohrm...@apache.org> wrote: > Hi Joe, > > it looks as if the queryable state server binds to the local loopback > address. This looks like a bug to me. Could you maybe share the complete > cluster entrypoint and the task manager logs with me? > > In the meantime you could try to do the following: Change > AbstractServerBase.java:227 into `.localAddress(port)`. This should bind to > any local address. Now you need to build your own Flink distribution by > running `mvn clean package -DskipTests` and then go to either build-target > or flink-dist/target/flink-1.7-SNAPSHOT-bin/flink-1.7-SNAPSHOT to find the > distribution. > > Cheers, > Till > > On Thu, Aug 30, 2018 at 12:12 AM Joe Olson <jo143...@gmail.com> wrote: > >> I'm having a problem with querying state on Flink 1.6. >> >> I put a project in Github that is my best representation of the very >> simple client example outlined in the 'querying state' section of the 1.6 >> documentation at >> https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/queryable_state.html >> . The Github project is at https://github.com/jolson787/qs >> >> My problem: I know the query server and proxy server have started on my 1 >> job manager / 1 task manager Flink 1.6 test rig, because I see the 'Started >> Queryable State Server' and 'Started Queryable State Proxy Server' in the >> task manager logs. I know the ports are open on the local machine, because >> I can telnet to them. >> >> From a remote machine, I implemented the QueryableStateClient as in the >> example, and made a getKVState call. Nothing I seem to do between that or >> the getKVstate call seems to register...no response, no errors thrown, no >> lines in the log, no returned futures, no timeouts, etc. I know the proxy >> server and state server ports are NOT open to the remote machine, yet the >> client still doesn't seem to react. >> >> Can someone take a quick look at my very simple Github project and see if >> anything jumps out at them? Beer is on me at Flink Forward if someone can >> help me work through this.... >> >