0.8.2
This new release of the aleph.im Core Channel Node application focuses primarily on bug fixes and performance improvements, ensuring more reliable connections, correct data handling, and faster database operations.
New Features & Improvements
- Database Performance: Added an index to the time field in the pending_messages table to improve database query performance. (PR #850)
Bug Fixes
- Balance Pre-check: Solved a formatting issue that was affecting the balance pre-check functionality. (PR #855)
- RabbitMQ Connection: Fixed connection timeouts that occurred during long operations with RabbitMQ. (PR #856)
- IPFS Configuration: Corrected the method used to update the IPFS configuration, ensuring it follows the recommended practices. (PR #846)
- IPFS Size Handling: Resolved an issue related to how IPFS size was being handled. (PR #857)
What's Changed
- Add an index to the pending_messages table on the time field by @aliel in #850
- Solve format issue on balance pre-check by @nesitor in #855
- Fix RabbitMQ connection timeouts during long operations. by @aliel in #856
- Fix IPFS conf: use the recommended method to update IPFS configuration by @aliel in #846
- Solve IPFS size handling by @nesitor in #857
Full Changelog: 0.8.1...0.8.2
Upgrade guide
Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.
From v0.5.1, simply bump the version of these services:
- On the
docker-compose.ymlfile, in thepyalephandpyaleph-apiservices must usealephim/pyaleph-node:0.8.2. - On the
docker-compose.ymlfile, in thep2p-serviceservice must usealephim/p2p-service:0.1.4. - On the same folder than
docker-compose.ymlfile, should be a proper001-update-ipfs-config.shconfiguration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.2/deployment/scripts/001-update-ipfs-config.sh. - On the
docker-compose.ymlfile, in theipfsservice must use theipfs/kubo:v0.37.0and the command section should be["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc"]. - On the
docker-compose.ymlfile, in theipfsservice must include a volume pointing to local001-update-ipfs-config.shconfiguration file, like- "./001-update-ipfs-config.sh:/container-init.d/001-update-ipfs-config.sh:ro". - On the
docker-compose.ymlfile, in theipfsservice the volume and the filekubo.jsonare not necessary anymore, so it can be removed. - On the
docker-compose.ymlfile, in theipfsservice must have a new environment variable calledIPFS_TELEMETRYset tooffvalue, disabling the IPFS telemetry signals, like- IPFS_TELEMETRY=off. - On the
docker-compose.ymlfile, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfsservice, must have some CPU and memory limitations. On CPU side should be the half of total CPU cores, and on memory side around 20% of the total memory. To configure it, the service should look like (new lines added with comments):
ipfs:
restart: always
image: ipfs/kubo:v0.37.0
ports:
- "4001:4001"
- "4001:4001/udp"
- "127.0.0.1:5001:5001"
volumes:
- "pyaleph-ipfs:/data/ipfs"
- "./001-update-ipfs-config.sh:/container-init.d/001-update-ipfs-config.sh:ro"
environment:
- IPFS_PROFILE=server
- IPFS_TELEMETRY=off
- GOMAXPROCS=4 # 50% of total CPU cores amount
- GOMEMLIMIT=23500MiB # 25% of total RAM memory minus 500MB
networks:
- pyaleph
command: ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc"]
cpus: 4.0 # 50% of total CPU cores amount
mem_limit: 24g # 25% of total RAM memory
memswap_limit: 24g # Same amount than up
Upgrade troubleshooting
Occasionally, when migrating IPFS to a newer version, you may encounter the log error: "Error: ipfs repo needs migration, please run migration tool." If this occurs, the following steps should be taken to resolve the issue.
Troubleshooting IPFS Repository Migration
- Halt all containers using the command
docker-compose down. - Edit the
docker-compose.yml fileand comment out the line that mounts the configuration script001-update-ipfs-config.shwithin the IPFS service putting a#at the initial of the line. - Start only the IPFS container with the command
docker-compose up ipfs. Monitor the container logs until you see the message: "Success: fs-repo migrated to version XX using embedded migrations.", where XX corresponds to the IPFS repository version. - Wait for the "Daemon is ready" message to appear in the container logs. After just press
Control + Cto exit the container. - Stop the IPFS container again with
docker-compose down. Uncomment the line for the configuration script001-update-ipfs-config.shthat you previously commented out. - Restart all containers normally using the command
docker-compose up -d.
⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.
Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.