Yes, I fixed it as a side effect of another issue. Turns out it was a problem with non-escaped characters in the function names, which made the JSON malformed.
Greetings, Stephan On Tue, Nov 11, 2014 at 5:54 PM, Vasiliki Kalavri <[email protected] > wrote: > Hey, > > it seems you've fixed this. I've just tried and the plan appears without > problem :) > > Thanks! > V. > > On 3 November 2014 23:19, Vasiliki Kalavri <[email protected]> > wrote: > >> Hi, >> >> thanks for looking into this! >> It's not urgent for me, I just wanted to make sure there was nothing >> wrong with my code. >> If you're busy with other issues, I can look into it myself next week :) >> >> Cheers, >> V. >> >> On 3 November 2014 22:02, Stephan Ewen <[email protected]> wrote: >> >>> Hey! >>> >>> here is what I see: >>> >>> - I do not get the first preview, which is expected (it it obtained >>> without the program arguments, so the program exits early) >>> >>> - I do not get the error stack trace that you describe when I submit >>> the program and supply two arguments to the program (as required), but I do >>> not get the plan preview either. Using the web developer tools in chrome, I >>> see that the produces JSON is malformed. >>> >>> I will look into that tomorrow... >>> >>> Stephan >>> >>> On Mon, Nov 3, 2014 at 12:46 PM, Vasiliki Kalavri < >>> [email protected]> wrote: >>> >>>> I don't get any of the 2 previews :/ >>>> >>>> On 3 November 2014 12:40, Stephan Ewen <[email protected]> wrote: >>>> >>>>> Hey! >>>>> >>>>> Just to be sure I understand the problem correctly: >>>>> >>>>> Do you not get the initial preview (on the page where you upload the >>>>> jars), or do you also not get the execution plan preview (after you >>>>> clicked >>>>> run), even if you supply arguments? >>>>> >>>>> Stephan >>>>> >>>>> >>>>> >>>>> >>>>> On Mon, Nov 3, 2014 at 12:29 PM, Vasiliki Kalavri < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> yes it's reproducible. >>>>>> I get the same behavior with the following dummy program: >>>>>> >>>>>> public class TestOptimizerPlan implements ProgramDescription { >>>>>> @SuppressWarnings("serial") >>>>>> public static void main(String[] args) throws Exception { >>>>>> if (args.length < 2) { >>>>>> System.err.println("Usage: TestOptimizerPlan <input-file-path> >>>>>> <output-file-path>"); >>>>>> return; >>>>>> } >>>>>> ExecutionEnvironment env = >>>>>> ExecutionEnvironment.getExecutionEnvironment(); >>>>>> DataSet<Tuple2<Long, Long>> input = env.readCsvFile(args[0]) >>>>>> .fieldDelimiter('\t').types(Long.class, Long.class); >>>>>> DataSet<Tuple2<Long, Long>> result = input.map( >>>>>> new MapFunction<Tuple2<Long,Long>, Tuple2<Long,Long>>() { >>>>>> public Tuple2<Long, Long> map(Tuple2<Long, Long> value){ >>>>>> return new Tuple2<Long, Long>(value.f0, value.f1+1); >>>>>> } >>>>>> }); >>>>>> result.writeAsCsv(args[1], "\n", "\t"); >>>>>> env.execute(); >>>>>> } >>>>>> @Override >>>>>> public String getDescription() { >>>>>> return "TestOptimizerPlan <input-file-path> <output-file-path>"; >>>>>> } >>>>>> } >>>>>> >>>>>> Cheers, >>>>>> Vasia. >>>>>> >>>>>> On 3 November 2014 09:23, Stephan Ewen <[email protected]> wrote: >>>>>> >>>>>>> Hi! >>>>>>> >>>>>>> The web Frontend needs to "intercept" the execution plan when the >>>>>>> call to "execute()" comes, which is done with a special exception. The >>>>>>> error message says it failed, which is typically because that exception >>>>>>> was >>>>>>> caught. >>>>>>> >>>>>>> However, in your code I see nothing that should prevent that plan >>>>>>> interception. Is the problem reproducible? >>>>>>> >>>>>>> Greetings, >>>>>>> Stephan >>>>>>> Am 02.11.2014 16:36 schrieb "Vasiliki Kalavri" < >>>>>>> [email protected]>: >>>>>>> >>>>>>> Hi all, >>>>>>>> >>>>>>>> when using the web client to upload and run a jar, the optimizer >>>>>>>> plan for my program does not appear. >>>>>>>> I have checked the "Show optimizer plan" box and provided args in >>>>>>>> the Arguments field. >>>>>>>> When I continue to submit the job, it runs correctly. There is no >>>>>>>> problem when using the plan visualizer tool. >>>>>>>> >>>>>>>> Checking the webclient logs, I see this exception in the .log file: >>>>>>>> >>>>>>>> org.apache.flink.client.program.ProgramInvocationException: The >>>>>>>> program plan could not be fetched. The program silently swallowed the >>>>>>>> control flow exceptions. >>>>>>>> at >>>>>>>> org.apache.flink.client.program.PackagedProgram.getPreviewPlan(PackagedProgram.java:243) >>>>>>>> at >>>>>>>> org.apache.flink.client.web.PactJobJSONServlet.doGet(PactJobJSONServlet.java:90) >>>>>>>> at >>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:734) >>>>>>>> at >>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:847) >>>>>>>> at >>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532) >>>>>>>> at >>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965) >>>>>>>> at >>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:388) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:187) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:901) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) >>>>>>>> at org.eclipse.jetty.server.Server.handle(Server.java:352) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048) >>>>>>>> at >>>>>>>> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) >>>>>>>> at >>>>>>>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) >>>>>>>> at >>>>>>>> org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:425) >>>>>>>> at >>>>>>>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) >>>>>>>> at >>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) >>>>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>>>> >>>>>>>> and the usage message in the .out file, as if I did not provide the >>>>>>>> correct number of arguments (which I did). >>>>>>>> >>>>>>>> If it helps, here's the program I was trying to visualize: >>>>>>>> https://github.com/vasia/incubator-flink/blob/semimetric-preprocessing/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/preprocessing/Jaccard.java >>>>>>>> >>>>>>>> Anything I'm missing here? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> V. >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
