Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B buck
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • buck
  • Merge requests
  • !2338

Fix inefficient traversals in Java's getRuntimeDeps

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Mike Kaplinskiy requested to merge github/fork/mikekap/patch-3 into master Nov 11, 2019
  • Overview 8
  • Commits 2
  • Pipelines 0
  • Changes 2
  • PrebuiltJar attempted to transitively fetch runtime deps. This means that if you had a chain of prebuilt jars depending on each other, e.g. [binary] -> A -> B -> C -> D, we would attempt to traverse the runtime deps of A 1x, B 2x, C 3x and D 4x. This is unncessary as JavaBinary does the transitive traversal itself, so just stop doing it.
  • JavaBinary was resolving transitive runtime deps via concat(A, concat(B, concat(C, ...))). This is extremely inefficient since concat adds another stack frame for every call which can result in StackOverflowException. Use flatMap instead.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/mikekap/patch-3