History log of /unit/ (Results 251 – 275 of 1953)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1775:4b499151435614-Jan-2021 Andrei Zeliankou

Tests: added missing checks for configuration results.

1774:8a90da5c0e2413-Jan-2021 Andrei Zeliankou

Tests: added test for "procfs" option.

1773:6c7e716cdec513-Jan-2021 Andrei Zeliankou

Tests: "language_deps" option checked more carefully.

1772:03a6609f2c5e13-Jan-2021 Andrei Zeliankou

Tests: waitformount() and waitforunmount() introduced.

1771:94cf6c5fafbd13-Jan-2021 Andrei Zeliankou

Tests: style.

1770:e4ece1ff441312-Jan-2021 Andrei Zeliankou

Tests: unit_stop() removed where possible.

Since wait_for_record() was introduced there is no need
to stop Unit before parsing unit.log.

1769:b7cd1517081e08-Jan-2021 Tiago Natel de Moura

Tests: fixed test_respawn.py to act upon test processes.

Running `test_respawn_` test cases on a machine with Unit
daemon in background would fail tests because `ps ax` was
used without filtering ou

Tests: fixed test_respawn.py to act upon test processes.

Running `test_respawn_` test cases on a machine with Unit
daemon in background would fail tests because `ps ax` was
used without filtering out other unit instances.

This patch also prevents from tests killing other Unit
processes not related to tests.

show more ...

1768:3a9850ceccfc07-Jan-2021 Tiago Natel de Moura

Tests: reordered asserts to avoid a test race.

The mount points are unmounted in the main process after it
detects the app process died. By testing the `tmpfs: true`
first, it happens that main cou

Tests: reordered asserts to avoid a test race.

The mount points are unmounted in the main process after it
detects the app process died. By testing the `tmpfs: true`
first, it happens that main could start the `tmpfs: false`
test case before main cleans the old process mount points.

show more ...

1767:582a004c73f829-Dec-2020 Max Romanov

Libunit: processing single port message.

This partially reverts the optimisation introduced in 1d84b9e4b459 to avoid an
unpredictable block in nxt_unit_process_port_msg(). Under high load, this
fun

Libunit: processing single port message.

This partially reverts the optimisation introduced in 1d84b9e4b459 to avoid an
unpredictable block in nxt_unit_process_port_msg(). Under high load, this
function may never return control to its caller, and the external event loop
(in Node.js and Python asyncio) won't be able to process other scheduled
events.

To reproduce the issue, two request processing types are needed: 'fast' and
'furious'. The 'fast' one simply returns a small response, while the 'furious'
schedules asynchronous calls to external resources. Thus, if Unit is subjected
to a large amount of 'fast' requests, the 'furious' request processing freezes
until the high load ends.

The issue was found by Wu Jian Ping (@wujjpp) during Node.js stream
implementation discussion and relates to PR #502 on GitHub.

show more ...

1766:9ec17030b67e29-Dec-2020 Max Romanov

Node.js: ServerRequest and ServerResponse compliance to Stream API.

ServerRequest now inherit stream Readable object. ServerResponse
provides 'writable' property.

Thanks to Wu Jian Ping (@wujjpp).

Node.js: ServerRequest and ServerResponse compliance to Stream API.

ServerRequest now inherit stream Readable object. ServerResponse
provides 'writable' property.

Thanks to Wu Jian Ping (@wujjpp).

This closes #274, closes #317 issues and closes #502 PR on GitHub.

show more ...

1765:8ea20616cf0427-Dec-2020 Andrei Belov

Packages: fixed building for Ubuntu 16.04 "xenial".

Changes introduced in a27532e3a17b effectively broke building of the unit
package due to missed dh_installsystemd script in older debhelper 9.x.

Packages: fixed building for Ubuntu 16.04 "xenial".

Changes introduced in a27532e3a17b effectively broke building of the unit
package due to missed dh_installsystemd script in older debhelper 9.x.

Once Ubuntu 16.04 reach EOL, the following actions should be made:
- this commit should be reverted;
- minimal debhelper version should be increased to 11.

show more ...

1764:46da19f4079f24-Dec-2020 Andrei Belov

Packages: fixed an ability to override package version.

This was broken since 00d8049418cf.

1763:2652acdd466f24-Dec-2020 Andrei Belov

Version bump for unit modules.

This is required in order to build Debian packages from current tip
without making manual interventions.

Moving forward, this should be a part of every version bump c

Version bump for unit modules.

This is required in order to build Debian packages from current tip
without making manual interventions.

Moving forward, this should be a part of every version bump commit.

show more ...

1762:f286b015628a23-Dec-2020 Andrei Belov

Packages: set the "--user" value to "nobody" for build-stage tests.

This allows tests to pass well in cases when the default user specified in
the ./configure parameters does not exist in the buildi

Packages: set the "--user" value to "nobody" for build-stage tests.

This allows tests to pass well in cases when the default user specified in
the ./configure parameters does not exist in the building environment.

show more ...

1761:ede60e75606623-Dec-2020 Andrei Belov

Tests: ability to run unitd with specified "--user" option.

1760:e1dd32f17a1823-Dec-2020 Max Romanov

Static: fixing request memory pool leakage in router.

When a static file larger than NXT_HTTP_STATIC_BUF_SIZE (128K) is served, two
buffers are allocated and chained; each retains the whole request

Static: fixing request memory pool leakage in router.

When a static file larger than NXT_HTTP_STATIC_BUF_SIZE (128K) is served, two
buffers are allocated and chained; each retains the whole request memory pool.

Starting from 41331471eee7, the completion handler was called once for a linked
buffer chain, but the second buffer got lost.

This patch improves the completion handler's treatment of static buffers to
handle all linked buffers.

show more ...

1759:196b4d90c8cc22-Dec-2020 Valentin Bartenev

Python: multiple values in the "path" option.

1758:96233c508ea421-Dec-2020 Konstantin Pavlov

Packages: check and create unit user on each post-script invocation.

1757:200f477978ab21-Dec-2020 Tiago Natel de Moura

Tests: introduced a separate cache directory for Go builds.

The Go compiler can't detect changes to C header files when
compiling CGO applications, and then this leads to Go test
samples being linke

Tests: introduced a separate cache directory for Go builds.

The Go compiler can't detect changes to C header files when
compiling CGO applications, and then this leads to Go test
samples being linked with wrong libunit.

This patch creates a new cache directory reused throughout
the test suite.

show more ...

1756:72e75ce3c99f17-Dec-2020 Max Romanov

Libunit: fixed shared memory waiting.

The nxt_unit_ctx_port_recv() function may return the NXT_UNIT_AGAIN code, in
which case an attempt to reread the message should be made.

The issue was reproduc

Libunit: fixed shared memory waiting.

The nxt_unit_ctx_port_recv() function may return the NXT_UNIT_AGAIN code, in
which case an attempt to reread the message should be made.

The issue was reproduced in load testing with response sizes 16k and up.
In the rare case of a NXT_UNIT_AGAIN result, a buffer of size -1 was processed,
which triggered a 'message too small' alert; after that, the app process was
terminated.

show more ...

1755:3b033128415517-Dec-2020 Max Romanov

Limiting app queue notifications count in socket.

Under high load, a queue synchonization issue may occur, starting from the
steady state when an app queue message is dequeued immediately after it h

Limiting app queue notifications count in socket.

Under high load, a queue synchonization issue may occur, starting from the
steady state when an app queue message is dequeued immediately after it has been
enqueued. In this state, the router always puts the first message in the queue
and is forced to notify the app about a new message in an empty queue using a
socket pair. On the other hand, the application dequeues and processes the
message without reading the notification from the socket, so the socket buffer
overflows with notifications.

The issue was reproduced during Unit load tests. After a socket buffer
overflow, the router is unable to notify the app about a new first message.
When another message is enqueued, a notification is not required, so the queue
grows without being read by the app. As a result, request processing stops.

This patch changes the notification algorithm by counting the notifications in
the pipe instead of getting the number of messages in the queue.

show more ...

1754:c2130905289517-Dec-2020 Max Romanov

Router: fixed crash in OOSM processing.

Multithreaded application may create different shared memory segments in
different threads. The segments then passed to different router threads.
Because of

Router: fixed crash in OOSM processing.

Multithreaded application may create different shared memory segments in
different threads. The segments then passed to different router threads.
Because of this multithreading, the order of adding incoming segments is
not determined and there can be situation when some of the incoming segments
are not initialized yet.

This patch simply adds check for NULL to skip non-initialized segments.

Crash reproduced during load tests with high number of simultaneous
connections (1024 and more).

show more ...

1753:7d8644d56ed517-Dec-2020 Andrei Belov

Packages: run non-privileged processes under "unit" user.

1752:e8e3d17a816824-Nov-2020 Konstantin Pavlov

Packages: added pcre2 to build depends.

While at it, propagate unit build depends to modules.

1751:a27532e3a17b24-Nov-2020 Konstantin Pavlov

Packages: dropped support for non-systemd distributions.

1...<<11121314151617181920>>...79