Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UPSTREAM: 54257: Use GetByKey() in typeLister_NonNamespacedGet #16986

Merged
merged 2 commits into from
Oct 23, 2017

Commits on Oct 20, 2017

  1. UPSTREAM: 54257: Use GetByKey() in typeLister_NonNamespacedGet

    The Get() function of non-namespace lister passes a temporary object to
    indexer.Get() in order to fetch the actual object from the indexer. This
    may cause Go to allocate the temporary object on the heap instead of the
    stack, as it is passed into interfaces. For non-namespaced objects,
    Get(&Type{ObjectMeta: v1.ObjectMeta{Name: name}}) should be equivalent
    to GetByKey(name).
    
    This could be the root cause of excessive allocations, e.g. in tests
    clusterRoleLister.Get() has trigger 4 billion allocations. See
    openshift#16954
    
    Signed-off-by: Christian Heimes <cheimes@redhat.com>
    Signed-off-by: Monis Khan <mkhan@redhat.com>
    tiran authored and enj committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    f66073d View commit details
    Browse the repository at this point in the history
  2. Generate origin listers

    Signed-off-by: Monis Khan <mkhan@redhat.com>
    enj committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    6b4f948 View commit details
    Browse the repository at this point in the history