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

Missing exception type in connectivity_service client publish function. #330

Merged
merged 1 commit into from
Dec 18, 2024

Conversation

bieryAtFnal
Copy link
Contributor

While debugging the occasional slow startup of DAQ applications and drunc controller applications on Fermilab development computer daq.fnal.gov, I noticed that a particular exception type was not being caught in the publish function of the drunc ConnSvc client code. This PR has a code change that adds that exception type.

The following steps can be used to demonstrate the behavior of this code change:

DATE_PREFIX=`date '+%d%b'`
TIME_SUFFIX=`date '+%H%M'`

source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt latest_v5
dbt-create -n NFD_DEV_241216_A9 ${DATE_PREFIX}FDDevTest_${TIME_SUFFIX}
cd ${DATE_PREFIX}FDDevTest_${TIME_SUFFIX}/sourcecode

git clone https://github.com/DUNE-DAQ/daqsystemtest.git -b develop
cd daqsystemtest; git checkout fc40036a8c; cd ..
cd ..

dbt-workarea-env
dbt-build -j 12
dbt-workarea-env

git clone https://github.com/DUNE-DAQ/connectivityserver.git -b kbiery/artificial_get_connection_delay
cd connectivityserver; pip install -U .; cd ..

git clone https://github.com/DUNE-DAQ/drunc.git -b develop
cd drunc
sed -i s/self.logger.debug\(f\'Publishing/self.logger.info\(f\'Publishing/ src/drunc/connectivity_service/client.py
pip install -U .; cd ..

daqsystemtest_integtest_bundle.sh -l 0

echo ""
echo "================================================================================"
echo ""
grep attempt /tmp/pytest-of-${USER}/pytest-current/runcurrent/log*.txt
echo ""
echo "================================================================================"
echo ""

cd $DBT_AREA_ROOT/drunc
git stash
git checkout kbiery/addl_excpt_catch_connsvc_client
git stash pop
pip install -U . ; cd ..

daqsystemtest_integtest_bundle.sh -l 0

echo ""
echo "================================================================================"
echo ""
grep attempt /tmp/pytest-of-${USER}/pytest-current/runcurrent/log*.txt
echo ""
echo "================================================================================"
echo ""

In the results of the first running of the minimal_system_quick_test in these sample instructions, one often sees ReadTimeoutErrors in the console output from the test, and one never sees publish attempt numbers great than one.

In the results of the second running of the minimal_system_quick_test (i.e. with the changes from this PR), one does not see ReadTimeoutErrors in the test output, and one does see publish attempt numbers greater than one.

I believe that this demonstrates the value of this code change.

@bieryAtFnal bieryAtFnal requested a review from plasorak December 16, 2024 16:05
@bieryAtFnal
Copy link
Contributor Author

I wonder if this might be an occasion to double-check that the appropriate exception types are being caught in other places in the drunc code...

@PawelPlesniak
Copy link
Contributor

There are definitely other instances that the correct exceptions are not caught, we'll pack the checks in when preparing for the next release/patch release

Copy link
Contributor

@PawelPlesniak PawelPlesniak left a comment

Choose a reason for hiding this comment

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

LGTM

@PawelPlesniak PawelPlesniak merged commit 63719a3 into develop Dec 18, 2024
2 checks passed
@PawelPlesniak PawelPlesniak deleted the kbiery/addl_excpt_catch_connsvc_client branch December 18, 2024 17:04
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