Hey Renato,

Could you send the config for your job?

The stack trace is indicating that you are using a system "task.inputs"
that isn't defined in the configuration. For example, if you have:

  task.inputs=kafka.my-topic

But, you haven't defined a "kafka" system (systems.kafka.*) then you will
see this exception.

Cheers,
Chris

On 11/5/14 6:14 AM, "Renato Marroquín Mogrovejo"
<renatoj.marroq...@gmail.com> wrote:

>Hi Yang,
>
>I tried setting the task.input to have the same key as the system's name,
>but I keep on getting error while trying to run it:
>
>2014-11-05 09:42:07 OffsetManager [INFO] Successfully loaded starting
>offsets: Map(SystemStreamPartition [partition=Partition [partition=0],
>system=order, stream=order] -> null)
>2014-11-05 09:42:07 SamzaContainer [INFO] Starting task instance stores.
>2014-11-05 09:42:07 SamzaContainer [INFO] Initializing stream tasks.
>2014-11-05 09:42:07 SamzaContainer [INFO] Registering task instances
>with producers.
>2014-11-05 09:42:07 SamzaContainer [INFO] Starting producer multiplexer.
>2014-11-05 09:42:07 SamzaContainer [INFO] Registering task instances
>with consumers.
>2014-11-05 09:42:07 SamzaContainer [ERROR] Caught exception in process
>loop.
>org.apache.samza.system.SystemConsumersException: can't register
>order's consumer.
>       at 
>org.apache.samza.system.SystemConsumers.register(SystemConsumers.scala:164
>)
>       at 
>org.apache.samza.container.TaskInstance$$anonfun$registerConsumers$2.apply
>(TaskInstance.scala:128)
>       at 
>org.apache.samza.container.TaskInstance$$anonfun$registerConsumers$2.apply
>(TaskInstance.scala:124)
>       at scala.collection.immutable.Set$Set1.foreach(Set.scala:74)
>       at 
>org.apache.samza.container.TaskInstance.registerConsumers(TaskInstance.sca
>la:124)
>       at 
>org.apache.samza.container.SamzaContainer$$anonfun$startConsumers$2.apply(
>SamzaContainer.scala:577)
>       at 
>org.apache.samza.container.SamzaContainer$$anonfun$startConsumers$2.apply(
>SamzaContainer.scala:577)
>       at scala.collection.Iterator$class.foreach(Iterator.scala:727)
>       at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
>       at 
>scala.collection.MapLike$DefaultValuesIterable.foreach(MapLike.scala:206)
>       at 
>org.apache.samza.container.SamzaContainer.startConsumers(SamzaContainer.sc
>ala:577)
>       at 
>org.apache.samza.container.SamzaContainer.run(SamzaContainer.scala:501)
>       at 
>org.apache.samza.container.SamzaContainer$.main(SamzaContainer.scala:81)
>       at org.apache.samza.container.SamzaContainer.main(SamzaContainer.scala)
>Caused by: java.util.NoSuchElementException: key not found: order
>       at scala.collection.MapLike$class.default(MapLike.scala:228)
>       at scala.collection.AbstractMap.default(Map.scala:58)
>       at scala.collection.MapLike$class.apply(MapLike.scala:141)
>       at scala.collection.AbstractMap.apply(Map.scala:58)
>       at 
>org.apache.samza.system.SystemConsumers.register(SystemConsumers.scala:165
>)
>       ... 13 more
>
>
>
>Maybe it has to do with me creating the partitions on the start method ? I
>guess the register method gets called first, then the start and finally
>the
>stop?
>Any suggestions?  Thank you very much for your help!
>
>
>Renato M.
>
>2014-11-03 18:57 GMT+01:00 Yan Fang <yanfang...@gmail.com>:
>
>> Hi Renato,
>>
>> 1) In the task.inputs option you told me that I should use something
>>like
>> "ordersystem.order", I guess I have to use ordersystem because of the
>> factory name "OrderSystemFactory"? I tried using "order.order" but I
>>got an
>> <o.a.s.s.SystemConsumersException: can't register order's consumer> So I
>> imagine there is a naming convention for classes, inputs, and factories?
>>
>>   1) There is no restriction in the system name. I just used that as an
>> example. As long as the system name in task.inputs is the same as the
>> system name in systems.%systemname.samza.factory. For example, in the
>> following properties, the two bold names should be the same.
>>      task.inputs=*foosystem*.tableName, systems.*foosystem*
>> .samza.factory=samza.examples.wikipedia.system.OrderSystemFactory
>>
>> In your case, the task.inputs=*order*.order , because systems.*order*
>> .samza.factory=samza.examples.order.system.OrderSystemFactory
>>
>> 2) I tried using the "ordersystem.order" name but I kept on getting the
>> NoPartitions exception
>>
>>   2) The code in your previous register method should be ok.
>>
>> 3) The BlockingEnvelopeMap has a put method to put the incoming messages
>> into the partition, and I am putting the table values on the start
>>method,
>> is this a bad practice?
>>
>>   3) It depends. Since the start method is only called once, the system
>> will only read the table once and put all the records into the
>> BlockingEnvelop. For the testing purpose, I think it is fine. You can
>>have
>> a look at our filesystem
>> <
>> 
>>https://github.com/apache/incubator-samza/blob/master/samza-core/src/main
>>/scala/org/apache/samza/system/filereader/FileReaderSystemConsumer.scala
>> >,
>> which uses a thread to monitor the file.
>>
>> 4) WikipediaFeedStreamTask takes an envelope object and puts that to
>>Kafka,
>> but where does it get the envelope from? the consumer right?
>>
>>   4) Yes, all the messages are from the put method in the consumer.
>>
>> Thanks,
>>
>> Fang, Yan
>> yanfang...@gmail.com
>> +1 (206) 849-4108
>>
>> On Mon, Nov 3, 2014 at 1:38 AM, Renato Marroquín Mogrovejo <
>> renatoj.marroq...@gmail.com> wrote:
>>
>> > Thanks for the help Yang!
>> > I think I understand more things now, but I also have more questions
>>:)
>> >
>> > 1) In the task.inputs option you told me that I should use something
>>like
>> > "ordersystem.order", I guess I have to use ordersystem because of the
>> > factory name "OrderSystemFactory"? I tried using "order.order" but I
>>got
>> an
>> > <o.a.s.s.SystemConsumersException: can't register order's consumer>
>>So I
>> > imagine there is a naming convention for classes, inputs, and
>>factories?
>> > 2) I tried using the "ordersystem.order" name but I kept on getting
>>the
>> > NoPartitions exception
>> > 3) The BlockingEnvelopeMap has a put method to put the incoming
>>messages
>> > into the partition, and I am putting the table values on the start
>> method,
>> > is this a bad practice?
>> > <
>> >
>> >
>> 
>>https://github.com/renato2099/hello-samza/blob/master/samza-wikipedia/src
>>/main/java/samza/examples/order/system/OrderConsumer.java
>> > >
>> > 4) WikipediaFeedStreamTask takes an envelope object and puts that to
>> Kafka,
>> > but where does it get the envelope from? the consumer right?
>> >
>> > Thanks again Yang!
>> >
>> >
>> > Renato M.
>> >
>> > 2014-11-03 3:18 GMT+01:00 Yan Fang <yanfang...@gmail.com>:
>> >
>> > > Hi Renato,
>> > >
>> > > on the hello-samza example for each new incoming message which
>>belongs
>> > > to a channel, a new partition is created, right?
>> > >
>> > > -- In WikipediaFeed job of hello-samza, each channel actually is
>> treated
>> > as
>> > > one stream of the Wikipedia System. Each stream has on partition 0.
>> This
>> > is
>> > > the code:
>> > > SystemStreamPartition systemStreamPartition = new
>> > > SystemStreamPartition(systemName,
>> > > event.getChannel(), new Partition(0);
>> > >
>> > > So in your code, I think each table could be thought as one stream,
>> with
>> > > only partition 0. So it will be like
>>task.input=ordersystem.tableName
>> > >
>> > > -- Then you maybe confused by what happened in Kafka. All the
>>messages
>> > sent
>> > > to  wikipedia-raw topic is done in WikipediaFeedStreamTask
>> > > <
>> > >
>> >
>> 
>>https://github.com/renato2099/hello-samza/blob/master/samza-wikipedia/src
>>/main/java/samza/examples/wikipedia/task/WikipediaFeedStreamTask.java
>> > > >
>> > > .
>> > >
>> > > Exception in thread "main" org.apache.samza.SamzaException: No
>> partitions
>> > > for this task. Can't run a task without partition assignments. It's
>> > likely
>> > > that the partition manager for this system doesn't know about the
>> stream
>> > > you're trying to read.
>> > > at
>> > 
>>org.apache.samza.container.SamzaContainer$.main(SamzaContainer.scala:77)
>> > > at 
>>org.apache.samza.container.SamzaContainer.main(SamzaContainer.scala)
>> > >
>> > > -- Is the stream registered to the system?
>> > > SystemStreamPartition systemStreamPartition = new
>> > > SystemStreamPartition(systemName,
>> > > "order", new Partition(0);
>> > > Is the "order" registered ? such as task.input=ordersystem.order ?
>> > >
>> > > Let me know if you have other questions.
>> > >
>> > > Thanks,
>> > >
>> > > Fang, Yan
>> > > yanfang...@gmail.com
>> > > +1 (206) 849-4108
>> > >
>> > > On Sun, Nov 2, 2014 at 4:56 AM, Renato Marroquín Mogrovejo <
>> > > renatoj.marroq...@gmail.com> wrote:
>> > >
>> > > > Hello Samza team,
>> > > >
>> > > >
>> > > > I am trying to modify the hello-samza example application to
>>replay
>> > > events
>> > > > which are in a table. But I am having some troubles.
>> > > > So on the hello-samza example for each new incoming message which
>> > belongs
>> > > > to a channel, a new partition is created, right?
>> > > > Now in my case, how (where) do I create these partitions? I create
>> them
>> > > in
>> > > > [1] but I am almost sure that is wrong because I keep getting the
>> > > exception
>> > > > saying that there are no partitions for this task. I mean ideally
>>I
>> > would
>> > > > like to create partitions based on the keys I am reading from the
>> > table.
>> > > > Could anybody help me on this task please? Many thanks in advance!
>> > > >
>> > > >
>> > > > Renato M.
>> > > >
>> > > >
>> > > > Exception in thread "main" org.apache.samza.SamzaException: No
>> > partitions
>> > > > for this task. Can't run a task without partition assignments.
>>It's
>> > > likely
>> > > > that the partition manager for this system doesn't know about the
>> > stream
>> > > > you're trying to read.
>> > > > at
>> > >
>> org.apache.samza.container.SamzaContainer$.main(SamzaContainer.scala:77)
>> > > > at
>> org.apache.samza.container.SamzaContainer.main(SamzaContainer.scala)
>> > > >
>> > > >
>> > > > [1]
>> > > >
>> > > >
>> > >
>> >
>> 
>>https://github.com/renato2099/hello-samza/blob/master/samza-wikipedia/src
>>/main/java/samza/examples/order/system/OrderConsumer.java#L47
>> > > >
>> > >
>> >
>>

Reply via email to