Spatial attribute creation under parallel CI load consistently exceeds
10 minutes. Increased both waitForAllAttributes and waitForAllIndexes
from 10/8 minutes to 15 minutes to accommodate heavy parallel load.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Spatial attribute creation under parallel MariaDB load and function
deployment builds under MongoDB can exceed previous limits. Increased
SchemaPolling timeout from 8 to 10 minutes and GraphQL function build
timeout from 2 to 4 minutes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
MariaDB attribute/index processing consistently times out under parallel
test load in CI with different tests failing each run. Increase all default
polling timeouts from 240s to 480s to handle worst-case MariaDB load.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
MariaDB attribute/index processing consistently times out under parallel
test load in CI. Increase all default polling timeouts from 240s to 360s.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
120s was insufficient for attribute processing under parallel CI load,
causing spurious timeout failures in spatial, transaction, and attribute tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix testCreateAttributes: use $actorsAttr instead of undefined $actors variable,
and use $this->getSchemaResource() instead of hardcoded 'attributes' for TablesDB compat
- Fix testUpsertDocument: add missing 'data' => $upsertData in PUT request body
- Increase SchemaPolling default timeout from 60s to 120s for CI stability with
spatial attributes under parallel load
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix $sequence always cast to string (was incorrectly cast to int for numeric values) in Document.php and Row.php
- Add supportForMultipleFulltextIndexes, supportForAttributeResizing, supportForSchemas console variables for MongoDB adapter
- Fix testCreateIndexes to use getSupportForMultipleFulltextIndexes() instead of getSupportForRelationships() for fulltext index error branching
- Fix testAttributeRowWidthLimit/testColumnRowWidthLimit to skip on databases without schema support (MongoDB)
- Fix testAttributeUpdateStringResize/testColumnUpdateStringResize to skip on databases without attribute resizing support (MongoDB)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Increase callWithAuthRetry from 5 to 8 retries with capped delay (50s total)
- Increase ProjectCustom retries from 3 to 5 with 1s delays
- Fix swapped assertEquals parameters in FunctionsBase for clearer errors
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add retry logic with delays for transient 401 auth errors during project
setup in ProjectCustom::getProject() (cherry-pick from feat-db-tests)
- Replace 10-minute activation polling in SitesBase with 30-second auto-activation
wait followed by explicit PATCH /sites/:siteId/deployment fallback to prevent
test suite timeouts when the build worker is slow to auto-activate
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PostgreSQL supports spatial indexes on nullable columns and required
spatial attributes on existing data, unlike MariaDB. Expose
supportForSpatialIndexNull console variable and condition test
assertions accordingly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PostgreSQL's ts_vector/ts_query doesn't support partial word matching
(searching "man" won't find "manchester"), unlike MariaDB's LIKE-based
search. The test used getSupportForRelationships() as a proxy for this
capability, which was wrong for PostgreSQL (supports relationships but
not partial fulltext search).
Add supportForFulltextWildcard to console variables endpoint and use
it in the Users test instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Under parallel CI load with MariaDB, attribute processing frequently
exceeds the previous 5-minute default timeout. Increased all polling
defaults (waitForAttribute, waitForAttributes, waitForAttributeCount,
waitForAllAttributes, waitForIndex, waitForAllIndexes) to 10 minutes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Under parallel load in CI, attribute/index workers can take longer than
3 minutes to process. Increase all polling timeouts to 5 minutes to
reduce flaky failures from worker queue congestion.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DatabasesBase: Wait for twoWayKey attribute on library collection in
setupOneToManyRelationship; use server API key headers for document creation
- DatabasesStringTypesTest: Add delays between attribute creation batches to
avoid overwhelming the database worker
- SchemaPolling: Improve waitForAllAttributes error messaging
- GraphQL UsersTest: Use fresh user in testDeleteUserSession to avoid
session conflicts
- Realtime: Increase WebSocket timeout to 120s and index polling to 60s
- Account: Add better error reporting for phone session creation failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Under high parallel load, authentication can transiently fail with 401.
Add retry logic with delays to handle these transient failures.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adding process ID and random bytes to uniqid() to avoid email
collisions when running tests in parallel with functional mode.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The root cause of flaky attribute processing tests is that a single
appwrite-worker-databases container cannot keep up with attribute
creation jobs when tests run in parallel via paratest.
This fix:
- Scales the databases worker to 4 instances during E2E service tests
- Reverts timeout increases that masked the underlying issue
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Increase all default timeouts in SchemaPolling trait from 5 minutes to
10 minutes. With tests running in parallel via paratest, the attribute
processing worker can become backlogged under heavy CI load, requiring
longer wait times for attributes to transition from 'processing' to
'available' status.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Increase all default timeouts in SchemaPolling trait from 3 minutes to
5 minutes to handle slower attribute processing when running tests in
parallel under heavy CI load.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Increase all default timeouts in SchemaPolling trait from 2 minutes to
3 minutes to handle slower attribute processing in CI environments.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Increase SchemaPolling default timeout from 60s to 120s
- Replace hardcoded sleep() with assertEventually() for message status polling in Messaging tests