Hi,

could you provide the log outputs for your job (ideally with debug logging 
enabled)?

Best,
Stefan

> Am 31.08.2016 um 14:40 schrieb ANDREA SPINA <74...@studenti.unimore.it>:
> 
> Hi everyone.
> I'm running the FlinkML ALS matrix factorization and I bumped into the 
> following exception:
> 
> org.apache.flink.client.program.ProgramInvocationException: The program 
> execution failed: Job execution failed.
>       at org.apache.flink.client.program.Client.runBlocking(Client.java:381)
>       at org.apache.flink.client.program.Client.runBlocking(Client.java:355)
>       at org.apache.flink.client.program.Client.runBlocking(Client.java:315)
>       at 
> org.apache.flink.client.program.ContextEnvironment.execute(ContextEnvironment.java:60)
>       at 
> org.apache.flink.api.scala.ExecutionEnvironment.execute(ExecutionEnvironment.scala:652)
>       at 
> org.apache.flink.ml.common.FlinkMLTools$.persist(FlinkMLTools.scala:94)
>       at org.apache.flink.ml.recommendation.ALS$$anon$115.fit(ALS.scala:507)
>       at org.apache.flink.ml.recommendation.ALS$$anon$115.fit(ALS.scala:433)
>       at org.apache.flink.ml.pipeline.Estimator$class.fit(Estimator.scala:55)
>       at org.apache.flink.ml.recommendation.ALS.fit(ALS.scala:122)
>       at dima.tu.berlin.benchmark.flink.als.RUN$.main(RUN.scala:78)
>       at dima.tu.berlin.benchmark.flink.als.RUN.main(RUN.scala)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:505)
>       at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:403)
>       at org.apache.flink.client.program.Client.runBlocking(Client.java:248)
>       at 
> org.apache.flink.client.CliFrontend.executeProgramBlocking(CliFrontend.java:866)
>       at org.apache.flink.client.CliFrontend.run(CliFrontend.java:333)
>       at 
> org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:1192)
>       at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1243)
> Caused by: org.apache.flink.runtime.client.JobExecutionException: Job 
> execution failed.
>       at 
> org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$7.apply$mcV$sp(JobManager.scala:717)
>       at 
> org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$7.apply(JobManager.scala:663)
>       at 
> org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$7.apply(JobManager.scala:663)
>       at 
> scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
>       at 
> scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
>       at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
>       at 
> akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:401)
>       at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>       at 
> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)
>       at 
> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)
>       at 
> scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>       at 
> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
> Caused by: java.lang.RuntimeException: Initializing the input processing 
> failed: Error obtaining the sorted input: Thread 'SortMerger Reading Thread' 
> terminated due to an exception: null
>       at 
> org.apache.flink.runtime.operators.BatchTask.invoke(BatchTask.java:325)
>       at org.apache.flink.runtime.taskmanager.Task.run(Task.java:559)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.RuntimeException: Error obtaining the sorted input: 
> Thread 'SortMerger Reading Thread' terminated due to an exception: null
>       at 
> org.apache.flink.runtime.operators.sort.UnilateralSortMerger.getIterator(UnilateralSortMerger.java:619)
>       at 
> org.apache.flink.runtime.operators.BatchTask.getInput(BatchTask.java:1079)
>       at 
> org.apache.flink.runtime.operators.BatchTask.initLocalStrategies(BatchTask.java:819)
>       at 
> org.apache.flink.runtime.operators.BatchTask.invoke(BatchTask.java:321)
>       ... 2 more
> Caused by: java.io.IOException: Thread 'SortMerger Reading Thread' terminated 
> due to an exception: null
>       at 
> org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:800)
> Caused by: 
> org.apache.flink.runtime.io.network.partition.ProducerFailedException
>       at 
> org.apache.flink.runtime.io.network.partition.consumer.LocalInputChannel.getNextLookAhead(LocalInputChannel.java:270)
>       at 
> org.apache.flink.runtime.io.network.partition.consumer.LocalInputChannel.onNotification(LocalInputChannel.java:238)
>       at 
> org.apache.flink.runtime.io.network.partition.PipelinedSubpartition.release(PipelinedSubpartition.java:158)
>       at 
> org.apache.flink.runtime.io.network.partition.ResultPartition.release(ResultPartition.java:320)
>       at 
> org.apache.flink.runtime.io.network.partition.ResultPartitionManager.releasePartitionsProducedBy(ResultPartitionManager.java:95)
>       at 
> org.apache.flink.runtime.io.network.NetworkEnvironment.unregisterTask(NetworkEnvironment.java:370)
>       at org.apache.flink.runtime.taskmanager.Task.run(Task.java:657)
>       at java.lang.Thread.run(Thread.java:745)
> 
> I'm running with flink-1.0.3. I really can't figure out the reason behind 
> that.
> 
> My code simply calls the library as follows:
> 
> val als = ALS()
>   .setIterations(numIterations)
>   .setNumFactors(rank)
>   .setBlocks(degreeOfParallelism)
>   .setSeed(42)
>   .setTemporaryPath(tempPath)
> 
> als.fit(ratings, parameters)
> 
> val (users, items) = als.factorsOption match {
>   case Some(_) => als.factorsOption.get
>   case _ => throw new RuntimeException
> }
> 
> users.writeAsText(outputPath, WriteMode.OVERWRITE)
> items.writeAsText(outputPath, WriteMode.OVERWRITE)
> 
> env.execute("ALS matrix factorization")
> 
> where 
> - ratings as the input dataset contains (uid, iid, rate) rows about 8e6 
> users, 1e6 items and 700 rating per user average.
> - numIterations 10
> - rank 50
> - degreeOfParallelism 240
> 
> The error seems to be related to the final .persists() call.
> at org.apache.flink.ml.recommendation.ALS$$anon$115.fit(ALS.scala:507)
> 
> I'm running with a 15 nodes cluster - 16cpus per node - with the following 
> valuable properties:
> 
> jobmanager.heap.mb = 2048
> taskmanager.memory.fraction = 0.5
> taskmanager.heap.mb = 28672
> taskmanager.network.bufferSizeInBytes = 32768
> taskmanager.network.numberOfBuffers = 98304
> akka.ask.timeout = 300s
> 
> Any help will be appreciated. Thank you.
> 
> -- 
> Andrea Spina
> N.Tessera: 74598
> MAT: 89369
> Ingegneria Informatica [LM] (D.M. 270)

Reply via email to