- Bump @joystream/types to Petra version
- Bump deps @polkadot/api v10.7.1
- Nara release.
- Replaced
Query-Node
API withStorage-Squid
Graphql API. This is a breaking change and requires theendpoints.queryNode
configuration option to be replaced withendpoints.storageSquid
.
- Added parsing of Axios errors on logger level so that we never log the whole Axios client instance (which is a circular object and causes the node to crash)
- Changed Elasticsearch transport to use data streams instead of regular indices. Renamed
config.logs.elastic.index
toconfig.logs.elastic.indexPrefix
. Node ID from config will be automatically appended to the index name.
- Bumped
winston-elasticsearch
package verion - FIX: Added error handler to caught exception in
ElasticsearchTransport
and gracefully log them
- Add 1s delay between fetching pages for QN state sync. This will allow QN to have some breathing space and process other requests that may have been stuck because of heavy processing.
- Add
Access-Control-Expose-Headers
response header to allow web clients checking cache status of downloaded file. - Include response headers in
http
logs - Disable open-api express response validation if NODE_ENV is set to 'production' or 'prod'. This should improve response times when serving assets.
- Include
nodeEnv
in/api/v1/status
response, to help detect mis-configured nodes. - FIX Axios Error Logging: Logging the error, when asset download from storage-node time outs, has been fixed to include the only error message, response, status code and bunch of other fields. Previously, logging error object (which includes axios client instance), failed with
Converting circular structure to JSON
error and causing the distributor-node to crash.
- FIX QN state sync: The QN state sync that runs on startup and on interval, has been split to multiple paginated queries so that it doesn't crash QN's GraphQL server because of huge payload: #4921
- Adds support for TTL based caching of
StorageDataObject
QN entity forHEAD /assets
requests. The TTL is configurable usinginterval.queryNodeCacheTTL
flag.
- FIX
sendExtrinsic
: The send extrinsic function (which is a wrapper around PolkadotJStx.signAndSend
function) has been fixed to handle the case when tx has been finalized before the callback registered intx.signAndSend
would run.
- Integrates OpenTelemetry API/SDK with Argus for exporting improved tracing logs & metrics to Elasticsearch. Adds
./start-elasticsearch-stack.sh
script to bootstrap elasticsearch services (Elasticsearch + Kibana + APM Server) with all the required configurations. - Add support for Elasticsearch authentication (
logs.elastic.auth
config section) - FIX: Objects belonging to group
0
of LRU-SP cache were never fully dropped from the state because of a bug inStateCacheService.dropById
dev:batchUpload
command was removed as it relied on no longer availablesudo
extrinsic- Any other references to
sudo
were removed (not affecting any functionality besides the removeddev:batchUpload
command) - Updated
@joystream/types
and@joystream/metadata-protobuf
dependencies - Minor fix for invalid elasticsearch log metadata format in
verbose
mode (Joystream#3877)
@joystream/types
dependency version bump for consistency with mainnet release versioning
- Adds connected query-node's state information to the
/status
endpoint. - Bumps the major version of the node since it's now Joystream mainnet compatible.
- Support for mime-type provided as part of
SubtitleMetadata
(video subtitles). It is now treated as fallbackmime-type
as long as it's a validtext/*
type and thefile-type
package fails to detect any type from the file signature (magic number), - Security: Sensitive information (like private keys) is now hidden in the node's logs,
- Requesting an asset which has not been accepted by any storage provider yet (
isAccepted == false
) now results in404: Data object has not been uploaded yet
(previously500: Failed to download object {id} from any availablable storage provider
), - Fixed links in CLI docs,
- Autogenerated API client library (
@joystream/distributor-node-client
) is now part of the distributor node codebase.
- Fix cache
cache-control: max-age
header for objects served from the filesystem (send
library requiresmax-age
to be provided as miliseconds).
- Replace
read-chunk
dependency w/ customreadFileChunk
implementation in order to fix the issue w/ data objectmime-type
detection (Joystream#3723), - Add
version
property to/status
endpoint result.