Skip to content

Conversation

@kennknowles
Copy link
Member

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

  • Make sure the PR title is formatted like:
    [BEAM-<Jira issue #>] Description of pull request
  • Make sure tests pass via mvn clean verify. (Even better, enable
    Travis-CI on your fork and ensure the whole test matrix passes).
  • Replace <Jira issue #> in the title with the actual Jira issue
    number, if there is one.
  • If this contribution is large, please file an Apache
    Individual Contributor License Agreement.

This moves out aggregators from where they are into various places where they belong. Notes:

  • The runner utility for traversing a pipeline and gathering aggregators is moved out
    to runners-core. It could reasonably live in the SDK if it had any other use. It is
    always easier to re-introduce it that to remove it, so I have removed it for now.
  • The Dataflow runner has a new dependency on runners-core.
    This is a private implementation detail dependency. But it cannot be shaded until
    we move packages so everything is under org.apache.beam.runners.core.
  • The user-facing aggregator stuff is moved out of the sdk.runners namespace to
    live alongside PipelineResult, of which is it a sub-part. We might consider all
    of these living in a namespace having to do with interacting with a "job", but that
    is future work. For now this is internally consistent. We have a thought/goal that
    the sdk.runners namespace can go away.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch from 3230461 to cfe0276 Compare July 20, 2016 04:36
@kennknowles
Copy link
Member Author

R: @dhalperi note added dependency for Dataflow runner
R: @amitsela I added the os-maven-plugin to the Spark runner's pom. We have a transitive dependency that is somewhat badly behaved, for now. Once #539 goes in, it may no longer be necessary; I haven't looked closely. The transitive dependency may also be fixed by upstream upgrades by the time it becomes relevant.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch 2 times, most recently from fef52dd to dacf275 Compare July 20, 2016 04:41
@amitsela
Copy link
Member

Though I'm not sure what's the issue with Travis. I'll take a look once I'm near a computer.

@lukecwik
Copy link
Member

lukecwik commented Jul 20, 2016

Ken, I commented on PR/681 that we can use a jar that contains all native library variants since only depending on one means that if the client that builds the application is running on an OS which is different than what the runner executes on it will fail to load the native library when executing. Once PR/681 is fixed up, I don't think you'll need to have the maven OS detection plugin.

@kennknowles
Copy link
Member Author

@lukecwik yea, I know. Same answer as @dhalperi there. A bit unfortunate/temporary, but unblocks for now.

@kennknowles
Copy link
Member Author

@amitsela Travis did pass prior to my opening the PR. Seems there was a Travis timeout/hang in the Mac build. "No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself."

I'll go ahead and rebase to kick Travis and see if it was an infrastructure issue.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch from dacf275 to 0869ab5 Compare July 20, 2016 16:44
@kennknowles
Copy link
Member Author

Discussed offline a bit, with these conclusions:

  • To produce the JSON from the TransformHierarchy we are actually going to need this stuff in the SDK, but it should be properly private and have a nice API.
  • But we still do need to add the dependency from Dataflow runner to runners-core to eliminate duplication of e.g. UnboundedReadFromBoundedSource. But this dependency should be shaded immediately, not left as a future task.

I'll update this PR accordingly.

@kennknowles
Copy link
Member Author

Based on comments here, I am going to cherry-pick the os-maven-plugin thing.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch from 0869ab5 to a01444c Compare July 21, 2016 03:52
@kennknowles kennknowles changed the title [BEAM-362] Move aggregator-scraping to runners-core [BEAM-362] Move aggregator scraping API onto Pipeline, make the support code private Jul 21, 2016
@kennknowles
Copy link
Member Author

PTAL @dhalperi. It isn't perfect, but the support classes are now package-private. They were previously public and in a namespace we want to remove.

Could move the getAggregatorSteps back out, perhaps to some static utility class Pipelines or Aggregators, but it has to be public somewhere. The support class remains an implementation detail of that one method.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch 2 times, most recently from ff464ea to 5700c5e Compare July 21, 2016 04:58
@lukecwik
Copy link
Member

Ken, I just merged pr/701 so you should be able to drop the OS detection plugin now.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch 2 times, most recently from 6aa9ebc to 8f67ae9 Compare July 22, 2016 03:53
@kennknowles
Copy link
Member Author

@lukecwik os-maven-plugin is no longer part of this PR.

@kennknowles
Copy link
Member Author

Travis failure is the issue in the Mac infrastructure.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch from 8f67ae9 to 52e5814 Compare July 25, 2016 16:46
@kennknowles
Copy link
Member Author

Rebased again - same result.

The Mac build hangs while fetching deps. Note that the pre-merge build of kennknowles/incubator-beam passed.

So either it is infrastructural, nondeterministic, or there's some Mac-facing bug in mainline. Or some combination. Note that other PRs eventually get past this by repeatedly retrying. I'd rather not bother with that, but don't want to ignore a flaky issue either. Either way, not related to this change.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch 2 times, most recently from 66c996c to 570aa11 Compare July 28, 2016 03:15
@kennknowles
Copy link
Member Author

R: -@amitsela (no longer relevant to Spark or particularly interesting in any way)

@kennknowles
Copy link
Member Author

@dhalperi every failure for the last few rebases has been timeouts or hangs in Travis, various platforms, most recently all of them. There haven't been any code changes in a while. Jenkins has been happy all along. Do you have any comments about the code itself? I'll keep prodding the infrastructure to see if it passes or uncovers a real issue.

@dhalperi
Copy link
Contributor

Sorry -- I've just been busy. Will TAL tomorrow.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch from 570aa11 to f0b4b33 Compare July 29, 2016 04:33
@kennknowles
Copy link
Member Author

It passed for a second :-)

But it had conflicts. I've rebased and pushed. Crossing fingers...

@kennknowles kennknowles force-pushed the runners-core-aggregators branch 4 times, most recently from 51d858c to 02e6bfd Compare August 4, 2016 21:44
@kennknowles kennknowles force-pushed the runners-core-aggregators branch 2 times, most recently from 52ea6d6 to 7f32d0e Compare August 5, 2016 21:17
@kennknowles
Copy link
Member Author

R: @tgroh maybe a first pass would be good

This class is trivial. Adding it to the public API of the SDK is
not desirable, since it is just for runners. Adding it to runners-core
would be OK but is really overkill for a glorified Map.
@kennknowles kennknowles force-pushed the runners-core-aggregators branch from 7f32d0e to e018b9e Compare August 8, 2016 20:55
}
}

/**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/between/from/ ?

@dhalperi
Copy link
Contributor

LGTM, please self-merge.

@kennknowles kennknowles force-pushed the runners-core-aggregators branch from e018b9e to adec254 Compare August 10, 2016 18:34
@asfgit asfgit merged commit adec254 into apache:master Aug 10, 2016
asfgit pushed a commit that referenced this pull request Aug 10, 2016
@kennknowles kennknowles deleted the runners-core-aggregators branch November 12, 2016 03:01
pl04351820 pushed a commit to pl04351820/beam that referenced this pull request Dec 20, 2023
use the pytest.mark.xfail decorator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants