What Aljoscha suggested is what works for us!

On Tue, Oct 6, 2020 at 6:58 PM Aljoscha Krettek <aljos...@apache.org> wrote:

> Hi Dan,
>
> to make the log properties file work this should do it: assuming the
> log4j.properties is in //src/main/resources. You will need a BUILD.bazel
> in that directory that has only the line
> "exports_files(["log4j.properties"]). Then you can reference it in your
> test via "resources = ["//src/main/resources:log4j.properties"],". Of
> course you also need to have the right log4j deps (or slf4j if you're
> using that)
>
> Hope that helps!
>
> Aljoscha
>
> On 07.10.20 00:41, Dan Hill wrote:
> > I'm trying to use Table API for my job.  I'll soon try to get a test
> > working for my stream job.
> > - I'll parameterize so I can have different sources and sink for tests.
> > How should I mock out a Kafka source?  For my test, I was planning on
> > changing the input to be from a temp file (instead of Kafka).
> > - What's a good way of forcing a watermark using the Table API?
> >
> >
> > On Tue, Oct 6, 2020 at 3:35 PM Dan Hill <quietgol...@gmail.com> wrote:
> >
> >> Thanks!
> >>
> >> Great to know.  I copied this junit5-jupiter-starter-bazel
> >> <
> https://github.com/junit-team/junit5-samples/tree/main/junit5-jupiter-starter-bazel>
> rule
> >> into my repository (I don't think junit5 is supported directly with
> >> java_test yet).  I tried a few ways of bundling `log4j.properties` into
> the
> >> jar and didn't get them to work.  My current iteration hacks the
> >> log4j.properties file as an absolute path.  My failed attempts would
> spit
> >> an error saying log4j.properties file was not found.  This route finds
> it
> >> but the log properties are not used for the java logger.
> >>
> >> Are there a better set of rules to use for junit5?
> >>
> >> # build rule
> >> java_junit5_test(
> >>      name = "tests",
> >>      srcs = glob(["*.java"]),
> >>      test_package = "ai.promoted.logprocessor.batch",
> >>      deps = [...],
> >>      jvm_flags =
> >>
> ["-Dlog4j.configuration=file:///Users/danhill/code/src/ai/promoted/logprocessor/batch/log4j.properties"],
> >> )
> >>
> >> # log4j.properties
> >> status = error
> >> name = Log4j2PropertiesConfig
> >> appenders = console
> >> appender.console.type = Console
> >> appender.console.name = LogToConsole
> >> appender.console.layout.type = PatternLayout
> >> appender.console.layout.pattern = %d [%t] %-5p %c - %m%n
> >> rootLogger.level = info
> >> rootLogger.appenderRefs = stdout
> >> rootLogger.appenderRef.stdout.ref = LogToConsole
> >>
> >> On Tue, Oct 6, 2020 at 3:34 PM Austin Cawley-Edwards <
> >> austin.caw...@gmail.com> wrote:
> >>
> >>> Oops, this is actually the JOIN issue thread [1]. Guess I should revise
> >>> my previous "haven't had issues" statement hah. Sorry for the spam!
> >>>
> >>> [1]:
> >>>
> apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Streaming-SQL-Job-Switches-to-FINISHED-before-all-records-processed-td38382.html
> >>>
> >>> On Tue, Oct 6, 2020 at 6:32 PM Austin Cawley-Edwards <
> >>> austin.caw...@gmail.com> wrote:
> >>>
> >>>> Unless it's related to this issue[1], which was w/ my JOIN and time
> >>>> characteristics, though not sure that applies for batch.
> >>>>
> >>>> Best,
> >>>> Austin
> >>>>
> >>>> [1]:
> >>>>
> apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Flink-SQL-Streaming-Join-Creates-Duplicates-td37764.html
> >>>>
> >>>>
> >>>> On Tue, Oct 6, 2020 at 6:20 PM Austin Cawley-Edwards <
> >>>> austin.caw...@gmail.com> wrote:
> >>>>
> >>>>> Hey Dan,
> >>>>>
> >>>>> We use Junit5 and Bazel to run Flink SQL tests on a mini cluster and
> >>>>> haven’t had issues, though we’re only testing on streaming jobs.
> >>>>>
> >>>>> Happy to help setting up logging with that if you’d like.
> >>>>>
> >>>>> Best,
> >>>>> Austin
> >>>>>
> >>>>> On Tue, Oct 6, 2020 at 6:02 PM Dan Hill <quietgol...@gmail.com>
> wrote:
> >>>>>
> >>>>>> I don't think any of the gotchas apply to me (at the bottom of this
> >>>>>> link).
> >>>>>>
> >>>>>>
> https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/testing.html#junit-rule-miniclusterwithclientresource
> >>>>>>
> >>>>>> I'm assuming for a batch job that I don't have to do anything for:
> >>>>>> "You can implement a custom parallel source function for emitting
> >>>>>> watermarks if your job uses event time timers."
> >>>>>>
> >>>>>> On Tue, Oct 6, 2020 at 2:42 PM Dan Hill <quietgol...@gmail.com>
> wrote:
> >>>>>>
> >>>>>>> I've tried to enable additional logging for a few hours today.  I
> >>>>>>> think something with junit5 is swallowing the logs.  I'm using
> Bazel and
> >>>>>>> junit5.  I setup MiniClusterResourceConfiguration using a custom
> >>>>>>> extension.  Are there any known issues with Flink and junit5?  I
> can try
> >>>>>>> switching to junit4.
> >>>>>>>
> >>>>>>> When I've binary searched this issue, this failure happens if my
> >>>>>>> query in step 3 has a join it.  If I remove the join, I can remove
> step 4
> >>>>>>> and the code still works.  I've renamed a bunch of my tables too
> and the
> >>>>>>> problem still exists.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Tue, Oct 6, 2020, 00:42 Aljoscha Krettek <aljos...@apache.org>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Hi Dan,
> >>>>>>>>
> >>>>>>>> there were some bugs and quirks in the MiniCluster that we
> recently
> >>>>>>>> fixed:
> >>>>>>>>
> >>>>>>>>    - https://issues.apache.org/jira/browse/FLINK-19123
> >>>>>>>>    - https://issues.apache.org/jira/browse/FLINK-19264
> >>>>>>>>
> >>>>>>>> But I think they are probably unrelated to your case. Could you
> >>>>>>>> enable
> >>>>>>>> logging and see from the logs whether the 2) and 3) jobs execute
> >>>>>>>> correctly on the MiniCluster?
> >>>>>>>>
> >>>>>>>> Best,
> >>>>>>>> Aljoscha
> >>>>>>>>
> >>>>>>>> On 06.10.20 08:08, Dan Hill wrote:
> >>>>>>>>> I'm writing a test for a batch job using
> >>>>>>>> MiniClusterResourceConfiguration.
> >>>>>>>>>
> >>>>>>>>> Here's a simple description of my working test case:
> >>>>>>>>> 1) I use TableEnvironment.executeSql(...) to create a source and
> >>>>>>>> sink table
> >>>>>>>>> using tmp filesystem directory.
> >>>>>>>>> 2) I use executeSql to insert some test data into the source
> tabel.
> >>>>>>>>> 3) I use executeSql to select from source and insert into sink.
> >>>>>>>>> 4) I use executeSql from the same source to a different sink.
> >>>>>>>>>
> >>>>>>>>> When I do these steps, it works.  If I remove step 4, no data
> gets
> >>>>>>>> written
> >>>>>>>>> to the sink.  My actual code is more complex than this (has
> create
> >>>>>>>> view,
> >>>>>>>>> join and more tables).  This is a simplified description but
> >>>>>>>> highlights the
> >>>>>>>>> weird error.
> >>>>>>>>>
> >>>>>>>>> Has anyone hit issues like this?  I'm assuming I have a small
> code
> >>>>>>>> bug in
> >>>>>>>>> my queries that's causing issues.  These queries appear to work
> in
> >>>>>>>>> production so I'm confused.  Are there ways of viewing failed
> jobs
> >>>>>>>> or
> >>>>>>>>> queries with MiniClusterResourceConfiguration?
> >>>>>>>>>
> >>>>>>>>> Thanks!
> >>>>>>>>> - Dan
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >
>
>

Reply via email to