My suggestions: 1. Have a separate utility script for creating this table. 2. Have README for the utility script 3. Mention about the utility script in the operator javadocs. 4. Mention about the utility script in the application README. 5. If at all, you wish to ease out the process; you can introduce flag like autoPopulateMetaTable. But. default value of this flag should to be off. 6. I would prefer to avoid side-effects unless explicitly asked by the end user. 7. Relevant exceptions should be caught and should have a message which can be understood by the end user.
~ Yogi On 13 January 2017 at 15:57, Hitesh Kapoor <hit...@datatorrent.com> wrote: > Hi All, > > Currently to use JdbcPOJOInsertOutputOperator, user needs to create > "dt_meta" table to enforce > exactly-once processing semantic. If the user fails to create this table > before launching the application an exception is thrown. > To handle this scenario we can automate the process of creating this table, > assuming the user has the appropriate privileges. The problem with this > approach is that it may not be a very good idea to modify user's database > automatically , also if the user doesn't has the appropriate privileges it > will eventually throw an exception (however a different exception). > So I need your opinion if we should automate the creation of this internal > table (if it doesn't exists) or continue with the existing behaviour or > anything else. > > Regards, > Hitesh >