Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
lava
lava
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 111
    • Issues 111
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 29
    • Merge Requests 29
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • lava
  • lavalava
  • Merge Requests
  • !1324

Open
Opened Sep 24, 2020 by Larry Shen@atlineContributor
  • Report abuse
Report abuse

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch "https://git.lavasoftware.org/atline/lava.git" "fb"
git checkout -b "atline/lava-fb" FETCH_HEAD

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout "master"
git merge --no-ff "atline/lava-fb"

Step 4. Push the result of the merge to GitLab

git push origin "master"

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

Clear feedback connection buffer.

  • Overview 3
  • Commits 1
  • Pipelines 1
  • Changes 2

This follow the PR !1317 (merged).

We now use different namespace to let the output to pexpect PTY, which could quickly be fetched by expect. But when expect, the pexpect buffer still never be cleared, which make us encountered a big issue: the cpu and memory may increase during the increase of buffer size, to match in whole buffer etc., finally the pc becomes very slow, then the zeromq connection seems also dropped. (NOTE: I'm talking about some stress test which will run very long, and currently we only encountered in docker-test-shell related scenario, for our android test, for our uboot test which written in python...)

A buffer clean looks make no harm to current code & also resolve our issue. Meanwhile, the old solution will continue to print Listened to connection for namespace 'prepare' done, even there is nothing print.

As feedback print will be in feedback color, so looks no need it, the only item I think is: if we have multiple feedback connection, then this print could be used to distinguish the print from different feedback.

So, a corresponding change here is: if there is content from this feedback, then print Listened to connection for namespace 'prepare' done, if not, don't print it. You know, in a stress job, a lots of unused Listened to connection for namespace 'prepare' done will make the job log > 5M which will hide the output.

And next is a small script which could be used to describe the cpu/memory issue:

import pexpect

p = pexpect.spawn("yes", encoding="utf-8")
p.logfile = sys.stdout

while True:
    try:
        p.expect([pexpect.EOF, pexpect.TIMEOUT], timeout=1)
        #p.expect([".+", pexpect.EOF, pexpect.TIMEOUT], timeout=1)
    except Exception as e:
        print(e)
Edited Sep 24, 2020 by Larry Shen
Assignee
Assign to
2021.01
Milestone
2021.01 (Past due)
Assign milestone
Time tracking
Reference: lava/lava!1324
Source branch: fb