From 8202256fa2640b193022f58772b903ae7f730460 Mon Sep 17 00:00:00 2001 From: Sajith Sasidharan Date: Tue, 31 Aug 2021 09:58:03 -0400 Subject: [PATCH 01/13] Add newsfragment --- newsfragments/3782.documentation | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/3782.documentation diff --git a/newsfragments/3782.documentation b/newsfragments/3782.documentation new file mode 100644 index 000000000..5e5cecc13 --- /dev/null +++ b/newsfragments/3782.documentation @@ -0,0 +1 @@ +tahoe-dev mailing list is now at tahoe-dev@lists.tahoe-lafs.org. From 65a1040fe884aee4f075bc6ccc0ed2a9e2dc26cc Mon Sep 17 00:00:00 2001 From: Sajith Sasidharan Date: Tue, 31 Aug 2021 09:58:43 -0400 Subject: [PATCH 02/13] Update references to the mailing list New list is tahoe-dev@lists.tahoe-lafs.org, list info page is at https://lists.tahoe-lafs.org/mailman/listinfo/tahoe-dev, and list archives are now at https://lists.tahoe-lafs.org/pipermail/tahoe-dev/. Sadly message numbers in list archive seem to have changed, so updating references to list archive is not as simple as prefixing `list.` --- NEWS.rst | 2 +- README.rst | 2 +- docs/Installation/install-tahoe.rst | 2 +- docs/historical/historical_known_issues.txt | 2 +- docs/man/man1/tahoe.1 | 2 +- docs/release-checklist.rst | 4 ++-- docs/running.rst | 2 +- misc/python3/depgraph.sh | 2 +- relnotes.txt | 2 +- setup.py | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/NEWS.rst b/NEWS.rst index 88d231826..d70fac6b5 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -1188,7 +1188,7 @@ Precautions when Upgrading .. _`#1915`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1915 .. _`#1926`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1926 .. _`message to the tahoe-dev mailing list`: - https://tahoe-lafs.org/pipermail/tahoe-dev/2013-March/008096.html + https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2013-March/008096.html Release 1.9.2 (2012-07-03) diff --git a/README.rst b/README.rst index 2cc6e38eb..e58211601 100644 --- a/README.rst +++ b/README.rst @@ -76,7 +76,7 @@ Get involved with the Tahoe-LAFS community: - Join our `weekly conference calls `__ with core developers and interested community members. -- Subscribe to `the tahoe-dev mailing list `__, the community forum for discussion of Tahoe-LAFS design, implementation, and usage. +- Subscribe to `the tahoe-dev mailing list `__, the community forum for discussion of Tahoe-LAFS design, implementation, and usage. 🤗 Contributing --------------- diff --git a/docs/Installation/install-tahoe.rst b/docs/Installation/install-tahoe.rst index c8b0b521e..2fe47f4a8 100644 --- a/docs/Installation/install-tahoe.rst +++ b/docs/Installation/install-tahoe.rst @@ -65,4 +65,4 @@ If you are working on MacOS or a Linux distribution which does not have Tahoe-LA If you are looking to hack on the source code or run pre-release code, we recommend you install Tahoe-LAFS on a `virtualenv` instance. To learn more, see :doc:`install-on-linux`. -You can always write to the `tahoe-dev mailing list `_ or chat on the `Libera.chat IRC `_ if you are not able to get Tahoe-LAFS up and running on your deployment. +You can always write to the `tahoe-dev mailing list `_ or chat on the `Libera.chat IRC `_ if you are not able to get Tahoe-LAFS up and running on your deployment. diff --git a/docs/historical/historical_known_issues.txt b/docs/historical/historical_known_issues.txt index 9d4e1d427..8edab51a8 100644 --- a/docs/historical/historical_known_issues.txt +++ b/docs/historical/historical_known_issues.txt @@ -177,7 +177,7 @@ mutable files, you may be able to avoid the potential for "rollback" failure. A future version of Tahoe will include a fix for this issue. Here is -[https://tahoe-lafs.org/pipermail/tahoe-dev/2008-May/000630.html the +[https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2008-May/000628.html the mailing list discussion] about how that future version will work. diff --git a/docs/man/man1/tahoe.1 b/docs/man/man1/tahoe.1 index 113f6a311..ab3d3c4c5 100644 --- a/docs/man/man1/tahoe.1 +++ b/docs/man/man1/tahoe.1 @@ -268,7 +268,7 @@ For known security issues see .PP Tahoe-LAFS home page: .PP -tahoe-dev mailing list: +tahoe-dev mailing list: .SH COPYRIGHT .PP Copyright \@ 2006\[en]2013 The Tahoe-LAFS Software Foundation diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index a5761c1c7..da1bbe16f 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -178,8 +178,8 @@ Announcing the Release Candidate ```````````````````````````````` The release-candidate should be announced by posting to the -mailing-list (tahoe-dev@tahoe-lafs.org). For example: -https://tahoe-lafs.org/pipermail/tahoe-dev/2020-October/009995.html +mailing-list (tahoe-dev@lists.tahoe-lafs.org). For example: +https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2020-October/009978.html Is The Release Done Yet? diff --git a/docs/running.rst b/docs/running.rst index a53f5d9e2..406c8200b 100644 --- a/docs/running.rst +++ b/docs/running.rst @@ -238,7 +238,7 @@ You can chat with other users of and hackers of this software on the #tahoe-lafs IRC channel at ``irc.libera.chat``, or on the `tahoe-dev mailing list`_. -.. _tahoe-dev mailing list: https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev +.. _tahoe-dev mailing list: https://lists.tahoe-lafs.org/mailman/listinfo/tahoe-dev Complain diff --git a/misc/python3/depgraph.sh b/misc/python3/depgraph.sh index d5ad33bf7..4fd98a717 100755 --- a/misc/python3/depgraph.sh +++ b/misc/python3/depgraph.sh @@ -16,7 +16,7 @@ if git diff-index --quiet HEAD; then fi git config user.name 'Build Automation' -git config user.email 'tahoe-dev@tahoe-lafs.org' +git config user.email 'tahoe-dev@lists.tahoe-lafs.org' git add tahoe-deps.json tahoe-ported.json git commit -m "\ diff --git a/relnotes.txt b/relnotes.txt index d5552e24b..4afbd6cc5 100644 --- a/relnotes.txt +++ b/relnotes.txt @@ -155,7 +155,7 @@ Planet Earth [4] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.15.1/COPYING.GPL [5] https://github.com/tahoe-lafs/tahoe-lafs/blob/tahoe-lafs-1.15.1/COPYING.TGPPL.rst [6] https://tahoe-lafs.readthedocs.org/en/tahoe-lafs-1.15.1/INSTALL.html -[7] https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev +[7] https://lists.tahoe-lafs.org/mailman/listinfo/tahoe-dev [8] https://tahoe-lafs.org/trac/tahoe-lafs/roadmap [9] https://github.com/tahoe-lafs/tahoe-lafs/blob/master/CREDITS [10] https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Dev diff --git a/setup.py b/setup.py index 3433e93f4..e1d711ccf 100644 --- a/setup.py +++ b/setup.py @@ -359,7 +359,7 @@ setup(name="tahoe-lafs", # also set in __init__.py description='secure, decentralized, fault-tolerant file store', long_description=open('README.rst', 'r', encoding='utf-8').read(), author='the Tahoe-LAFS project', - author_email='tahoe-dev@tahoe-lafs.org', + author_email='tahoe-dev@lists.tahoe-lafs.org', url='https://tahoe-lafs.org/', license='GNU GPL', # see README.rst -- there is an alternative licence cmdclass={"update_version": UpdateVersion, From 7537a3a06ffed66b63700d0dec759a4cb3c810a5 Mon Sep 17 00:00:00 2001 From: Sajith Sasidharan Date: Tue, 31 Aug 2021 10:22:50 -0400 Subject: [PATCH 03/13] Hat tip to OSUOSL for hosting tahoe-dev list --- README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.rst b/README.rst index e58211601..7608e8829 100644 --- a/README.rst +++ b/README.rst @@ -98,6 +98,8 @@ Before authoring or reviewing a patch, please familiarize yourself with the `Cod We would like to thank `Fosshost `__ for supporting us with hosting services. If your open source project needs help, you can apply for their support. +We are grateful to `Oregon State University Open Source Lab `__ for hosting tahoe-dev mailing list. + ❓ FAQ ------ From e0414fd8af374ab8b4f04cbeb8d38be94d18b16a Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 09:14:47 -0400 Subject: [PATCH 04/13] Upload eliot.log on CircleCI runs --- .circleci/config.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 28e4c8d58..62d1bd752 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -271,6 +271,11 @@ jobs: # in the project source checkout. path: "/tmp/project/_trial_temp/test.log" + - store_artifacts: &STORE_ELIOT_LOG + # Despite passing --workdir /tmp to tox above, it still runs trial + # in the project source checkout. + path: "/tmp/project/eliot.log" + - store_artifacts: &STORE_OTHER_ARTIFACTS # Store any other artifacts, too. This is handy to allow other jobs # sharing most of the definition of this one to be able to @@ -413,6 +418,7 @@ jobs: - run: *RUN_TESTS - store_test_results: *STORE_TEST_RESULTS - store_artifacts: *STORE_TEST_LOG + - store_artifacts: *STORE_ELIOT_LOG - store_artifacts: *STORE_OTHER_ARTIFACTS - run: *SUBMIT_COVERAGE From bcf1c7153676971d75be573f2cf9ad64c360f14a Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 09:15:02 -0400 Subject: [PATCH 05/13] Upload trial's test.log on GitHub Actions --- .github/workflows/ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e95d2ee88..f4e0b50ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,6 +83,12 @@ jobs: name: eliot.log path: eliot.log + - name: Upload trial log + uses: actions/upload-artifact@v1 + with: + name: _trial_temp/test.log + path: _trial_temp/test.log + # Upload this job's coverage data to Coveralls. While there is a GitHub # Action for this, as of Jan 2021 it does not support Python coverage # files - only lcov files. Therefore, we use coveralls-python, the From 1d4bc54b487e07d0c7316da77b834a2ddf2bc856 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 09:15:13 -0400 Subject: [PATCH 06/13] Just upload the log all the time --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4e0b50ce..9e6c246b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,9 +76,8 @@ jobs: - name: Run tox for corresponding Python version run: python -m tox - - name: Upload eliot.log in case of failure + - name: Upload eliot.log uses: actions/upload-artifact@v1 - if: failure() with: name: eliot.log path: eliot.log From dd4e6c7741deb2545400b9c0bcb1337edccf483c Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 09:15:28 -0400 Subject: [PATCH 07/13] whitespace --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e6c246b6..cd6f872bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -141,7 +141,7 @@ jobs: # See notes about parallel builds on GitHub Actions at # https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html finish-coverage-report: - needs: + needs: - "coverage" runs-on: "ubuntu-latest" container: "python:3-slim" @@ -178,7 +178,7 @@ jobs: - name: Install Tor [Ubuntu] if: matrix.os == 'ubuntu-latest' run: sudo apt install tor - + # TODO: See https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3744. # We have to use an older version of Tor for running integration # tests on macOS. From e3804e0354f30c4fc9a1371e5c4d9f5fc52b6a3a Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 09:15:40 -0400 Subject: [PATCH 08/13] news fragment --- newsfragments/3792.minor | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newsfragments/3792.minor diff --git a/newsfragments/3792.minor b/newsfragments/3792.minor new file mode 100644 index 000000000..e69de29bb From 2a6870d77253f0274b56cc9f9d725d7bd305b007 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 09:42:23 -0400 Subject: [PATCH 09/13] The name must be pathless, it seems --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd6f872bb..e161ec243 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,7 @@ jobs: - name: Upload trial log uses: actions/upload-artifact@v1 with: - name: _trial_temp/test.log + name: test.log path: _trial_temp/test.log # Upload this job's coverage data to Coveralls. While there is a GitHub From edb380f80163f87428f5ba9cbaa1904d099228c4 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 10:48:32 -0400 Subject: [PATCH 10/13] Bridge Foolscap logs to Twisted's so they appear in test.log --- src/allmydata/test/__init__.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/allmydata/test/__init__.py b/src/allmydata/test/__init__.py index 893aa15ce..8b11ffd17 100644 --- a/src/allmydata/test/__init__.py +++ b/src/allmydata/test/__init__.py @@ -55,9 +55,22 @@ def disable_foolscap_incidents(): iq = NonQualifier() theLogger.setIncidentQualifier(iq) -# we disable incident reporting for all unit tests. -disable_foolscap_incidents() +def bridge_foolscap_logs_to_twisted(): + # Dump all of the Foolscap logs into the Twisted logging system where they + # can get scooped up by any other log observers we configure. + from foolscap.logging import log + log.bridgeLogsToTwisted() +def configure_foolscap_logging(): + # we disable incident reporting for all unit tests. + disable_foolscap_incidents() + + # we want to collect Foolscap logs too, and it's easiest to do this by + # getting them into one of the log systems we already have collection set + # up for. + bridge_foolscap_logs_to_twisted() + +configure_foolscap_logging() def _configure_hypothesis(): from os import environ From 30b43a8ed6b543a5fe8e0dc01d8cbebb175cd7bd Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 8 Sep 2021 12:41:37 -0400 Subject: [PATCH 11/13] Revert "Bridge Foolscap logs to Twisted's so they appear in test.log" This reverts commit edb380f80163f87428f5ba9cbaa1904d099228c4. This breaks the test suite hard --- src/allmydata/test/__init__.py | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/allmydata/test/__init__.py b/src/allmydata/test/__init__.py index 8b11ffd17..893aa15ce 100644 --- a/src/allmydata/test/__init__.py +++ b/src/allmydata/test/__init__.py @@ -55,22 +55,9 @@ def disable_foolscap_incidents(): iq = NonQualifier() theLogger.setIncidentQualifier(iq) -def bridge_foolscap_logs_to_twisted(): - # Dump all of the Foolscap logs into the Twisted logging system where they - # can get scooped up by any other log observers we configure. - from foolscap.logging import log - log.bridgeLogsToTwisted() +# we disable incident reporting for all unit tests. +disable_foolscap_incidents() -def configure_foolscap_logging(): - # we disable incident reporting for all unit tests. - disable_foolscap_incidents() - - # we want to collect Foolscap logs too, and it's easiest to do this by - # getting them into one of the log systems we already have collection set - # up for. - bridge_foolscap_logs_to_twisted() - -configure_foolscap_logging() def _configure_hypothesis(): from os import environ From 5264108182ddd7a3a199e1dfb7af6db9dca08d18 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Mon, 13 Sep 2021 13:24:35 -0400 Subject: [PATCH 12/13] account for the archive message renumbering in the list migration --- NEWS.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.rst b/NEWS.rst index d70fac6b5..1cfc726ae 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -1188,7 +1188,7 @@ Precautions when Upgrading .. _`#1915`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1915 .. _`#1926`: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1926 .. _`message to the tahoe-dev mailing list`: - https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2013-March/008096.html + https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2013-March/008079.html Release 1.9.2 (2012-07-03) From 460b74e171c97aa14999fbb8fa41469d9d6e1da7 Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Tue, 21 Sep 2021 13:29:24 -0400 Subject: [PATCH 13/13] Punt overlapping writes for now. --- src/allmydata/test/test_istorageserver.py | 27 +++++++++-------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/allmydata/test/test_istorageserver.py b/src/allmydata/test/test_istorageserver.py index 1c1383a2d..328000489 100644 --- a/src/allmydata/test/test_istorageserver.py +++ b/src/allmydata/test/test_istorageserver.py @@ -211,11 +211,8 @@ class IStorageServerImmutableAPIsTestsMixin(object): """ Shares that are fully written to can be read. - 1. The result is not affected by the order in which writes - happened, only by their offsets. - - 2. When overlapping writes happen, the resulting read returns the - latest written value. + The result is not affected by the order in which writes + happened, only by their offsets. """ storage_index, renew_secret, cancel_secret = ( new_storage_index(), @@ -241,15 +238,8 @@ class IStorageServerImmutableAPIsTestsMixin(object): yield allocated[2].callRemote("write", 0, b"3" * 512) yield allocated[2].callRemote("close") - # Bucket 3 has an overlapping write. - yield allocated[3].callRemote("write", 0, b"5" * 20) - # The second write will overwrite the first. - yield allocated[3].callRemote("write", 0, b"6" * 24) - yield allocated[3].callRemote("write", 24, b"7" * 1000) - yield allocated[3].callRemote("close") - buckets = yield self.storage_server.get_buckets(storage_index) - self.assertEqual(set(buckets.keys()), {1, 2, 3}) + self.assertEqual(set(buckets.keys()), {1, 2}) self.assertEqual( (yield buckets[1].callRemote("read", 0, 1024)), b"1" * 512 + b"2" * 512 @@ -257,10 +247,13 @@ class IStorageServerImmutableAPIsTestsMixin(object): self.assertEqual( (yield buckets[2].callRemote("read", 0, 1024)), b"3" * 512 + b"4" * 512 ) - self.assertEqual( - (yield buckets[3].callRemote("read", 0, 1024)), - b"6" * 24 + b"7" * 1000, - ) + + @skipIf(True, "https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3801") + def test_overlapping_writes(self): + """ + The policy for overlapping writes is TBD: + https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3801 + """ class _FoolscapMixin(SystemTestMixin):