Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@fischer-ncar
Copy link
Contributor

The config_pes.xml for B compset matches not having a cam modifier was left out of PR #80.

User interface changes?: No
[ If yes, describe what changed, and steps taken to ensure backward compatibilty ]

Fixes: [Github issue #s] And brief description of each issue.

Testing:
unit tests:
system tests:
manual testing: B1850, BW1850, B1PCT, BW1PCT, BCO2x4, and BWCO2x4 on cheyenne,
compared env_mach_pes.xml.

@fischer-ncar
Copy link
Contributor Author

@jedwards4b I removed the extra match and rechecked the different B compsets.

@jedwards4b jedwards4b merged commit aa106aa into cesm2.1-alphabranch Oct 15, 2018
@fischer-ncar fischer-ncar deleted the fischer/B_pes_fix branch October 15, 2018 20:42
fischer-ncar pushed a commit that referenced this pull request Mar 3, 2020
The previous implementation, relying on the lower-level
subprocess.Popen, was hanging when trying to get the status of a git
repository with many changed files (see
ESMCI/manage_externals#113). It seems that the
problem was that subprocess.Popen buffers output, and we would need to
write some extra code to periodically clear the output buffer. This
seemed tricky to get right, so I have backed up to using the
higher-level subprocess.check_output, as we did prior to
ESMCI/manage_externals#81.

I am using a new method to detect hangs and print a useful message
(which was the point of PR #81), based on threading.Timer. I can't
figure out a way to kill the subprocess when it appears to be hanging,
but at least we can notify the user of this possible problem.

This commit brings this part of the code back to how it was prior to
d6423c6, except now we have a hang-detection timer.

As a side-benefit, it appears that this change speeds up the unit and
system tests, based on a few trial runs before and after this
change. (This is probably due to the removal of the 0.02 sec delay
associated with the previous subprocess.Popen implementation.)
fischer-ncar pushed a commit that referenced this pull request Mar 3, 2020
Fix hangs when a subcommand has a lot of output.
Rework execute_subprocess timeout handling to prevent hangs

The previous implementation, relying on the lower-level
subprocess.Popen, was hanging when trying to get the status of a git
repository with many changed files (see
#113). It seems that the
problem was that subprocess.Popen buffers output, and we would need to
write some extra code to periodically clear the output buffer. This
seemed tricky to get right, so I have backed up to using the
higher-level subprocess.check_output, as we did prior to
#81.

I am using a new method to detect hangs and print a useful message
(which was the point of PR #81), based on threading.Timer. I can't
figure out a way to kill the subprocess when it appears to be hanging,
but at least we can notify the user of this possible problem.

This commit brings this part of the code back to how it was prior to
d6423c6, except now we have a hang-detection timer.

As a side-benefit, it appears that this change speeds up the unit and
system tests, based on a few trial runs before and after this
change. (This is probably due to the removal of the 0.02 sec delay
associated with the previous subprocess.Popen implementation.)

User interface changes?: No

Fixes #113 (Timeout when getting status from a git repository with many changes)

Testing:
test removed: none
unit tests: pass
system tests: pass
manual testing:

(1) Tested the problem reported in #113 by putting a ton of changes in
components/clm (changing permissions on all files, and adding
about 7000 files in a testmods directory). The original hung, this
version succeeded quickly.

(2) Tested the problem reported in #79 and fixed in #81 (because this
PR undoes the changes from #81): I tested with authentication
required (on hobart, by pointing to the NGEET fates repo): I
changed the timeout to 10 seconds, ran
'manage_externals/checkout_externals clm', and reviewed the
printed message. It looks like this, after about 10 seconds:

    Checking out externals: fates, Username for 'https://github.com':

    Command 'git clone --quiet https://github.com/NGEET/fates fates'
    from directory /scratch/cluster/sacks/cesm/components/clm/src
    has taken 10 seconds. It may be hanging.

    The command will continue to run, but you may want to abort
    manage_externals with ^C and investigate. A possible cause of hangs is
    when svn or git require authentication to access a private
    repository. On some systems, svn and git requests for authentication
    information will not be displayed to the user. In this case, the program
    will appear to hang. Ensure you can run svn and git manually and access
    all repositories without entering your authentication information.
RafaPedroFernandez pushed a commit to RafaPedroFernandez/CESM that referenced this pull request May 31, 2024
cam6_2_015: Update externals, update baseline directories.
jedwards4b added a commit to jedwards4b/cesm that referenced this pull request Oct 22, 2025
d4ebd39 Bump to 1.0.3
f4d1647 Merge pull request ESCOMP#85 from nusbaume/hash_fetch
5ae52f6 Fetch full history if 'fxtag' is a hash.
22026d2 Merge pull request ESCOMP#81 from ESMCI/fxtag_documentation_update
1ab63bc update doc to correct fxtag

git-subtree-dir: .lib/git-fleximod
git-subtree-split: d4ebd3998c342453525ad077fa36cc979badb882
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.

2 participants