Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heartbeat handler for automatix daemon #5617

Closed
cserf opened this issue Jun 3, 2022 · 0 comments · Fixed by #5621
Closed

Heartbeat handler for automatix daemon #5617

cserf opened this issue Jun 3, 2022 · 0 comments · Fixed by #5621

Comments

@cserf
Copy link
Contributor

cserf commented Jun 3, 2022

Motivation

Heartbeat handler for automatix daemon (see #5562)

@cserf cserf self-assigned this Jun 3, 2022
cserf added a commit to cserf/rucio that referenced this issue Jun 3, 2022
cserf added a commit to cserf/rucio that referenced this issue Jul 8, 2022
cserf added a commit to cserf/rucio that referenced this issue Aug 10, 2022
cserf added a commit to cserf/rucio that referenced this issue Aug 12, 2022
bari12 pushed a commit that referenced this issue Sep 2, 2022
* Use uploadclient in automatix : Closes #5616

* Heartbeat handler for automatix daemon : Closes #5617

* Fix multiVO test

* Fix missing variable and syntax error
bari12 pushed a commit that referenced this issue Sep 2, 2022
* Use uploadclient in automatix : Closes #5616

* Heartbeat handler for automatix daemon : Closes #5617

* Fix multiVO test

* Fix missing variable and syntax error
@bari12 bari12 added this to the 1.29.4 milestone Sep 2, 2022
joeldierkes pushed a commit to joeldierkes/rucio that referenced this issue Sep 11, 2022
Since 7093082 (Improvements of automatix daemon : Closes rucio#5616, rucio#5617
(rucio#5621), 2022-09-02), the `test_automatix` test fails infrequently. The
error message provided suggests, that the `project` variable sometimes
get converted to an integer:

```
=================================== FAILURES ===================================
________________________________ test_automatix ________________________________
[gw1] linux -- Python 3.6.8 /usr/bin/python
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py:1803: in _execute_context
    cursor, statement, parameters, context
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py:732: in do_execute
    cursor.execute(statement, parameters)
E   psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer
E   LINE 3: WHERE dev.dids.project = 17420750 AND dev.dids.did_type = 'C...
E                                  ^
E   HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
```

The `project` variable used is initialized via the first 8 characters of
a random uuid4 string. This string contains hexadecimal values, which
can lead to a string with the 8 first characters being just integers.
The probability for that with `(10 / 16) ^ 8 = 2.33%` (if we asume a
uniform distribution) is fairly low, however, we run the tests quite
frequently. This thus is a vaiable candidate for the error.

Postgres seems to be the only engine to automatically convert this
string into a number if possible, all other engines seem to work fine.
joeldierkes pushed a commit to joeldierkes/rucio that referenced this issue Sep 11, 2022
Since 7093082 (Improvements of automatix daemon : Closes rucio#5616, rucio#5617
(rucio#5621), 2022-09-02), the `test_automatix` test fails infrequently. The
error message provided suggests, that the `project` variable sometimes
get converted to an integer:

```
=================================== FAILURES ===================================
________________________________ test_automatix ________________________________
[gw1] linux -- Python 3.6.8 /usr/bin/python
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py:1803: in _execute_context
    cursor, statement, parameters, context
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py:732: in do_execute
    cursor.execute(statement, parameters)
E   psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer
E   LINE 3: WHERE dev.dids.project = 17420750 AND dev.dids.did_type = 'C...
E                                  ^
E   HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
```

The `project` variable used is initialized via the first 8 characters of
a random uuid4 string. This string contains hexadecimal values, which
can lead to a string with the 8 first characters being just integers.
The probability for that with `(10 / 16) ^ 8 = 2.33%` (if we asume a
uniform distribution) is fairly low, however, we run the tests quite
frequently. This thus is a vaiable candidate for the error.

Postgres seems to be the only engine to automatically convert this
string into a number if possible, all other engines seem to work fine.

Using a string which does not automatically gets converted to an integer
solves the problem.
joeldierkes pushed a commit to joeldierkes/rucio that referenced this issue Sep 11, 2022
Since 7093082 (Improvements of automatix daemon : Closes rucio#5616, rucio#5617
(rucio#5621), 2022-09-02), the `test_automatix` test fails infrequently. The
error message provided suggests, that the `project` variable sometimes
get converted to an integer:

```
=================================== FAILURES ===================================
________________________________ test_automatix ________________________________
[gw1] linux -- Python 3.6.8 /usr/bin/python
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py:1803: in _execute_context
    cursor, statement, parameters, context
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py:732: in do_execute
    cursor.execute(statement, parameters)
E   psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer
E   LINE 3: WHERE dev.dids.project = 17420750 AND dev.dids.did_type = 'C...
E                                  ^
E   HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
```

The `project` variable used is initialized via the first 8 characters of
a random uuid4 string. This string contains hexadecimal values, which
can lead to a string with the 8 first characters being just integers.
The probability for that with `(10 / 16) ^ 8 = 2.33%` (if we asume a
uniform distribution) is fairly low, however, we run the tests quite
frequently. This thus is a vaiable candidate for the error.

The `filter_engine` used in `list_dids` is responsible for converting
the string to an int. This is desired for now. Postgres is the only
engine which does not provide a functionality to compare a string and an
integer.

Using a string which does not automatically gets converted to an integer
solves the problem.
joeldierkes pushed a commit to joeldierkes/rucio that referenced this issue Sep 11, 2022
Since 7093082 (Improvements of automatix daemon : Closes rucio#5616, rucio#5617
(rucio#5621), 2022-09-02), the `test_automatix` test fails infrequently. The
error message provided suggests, that the `project` variable sometimes
get converted to an integer:

```
=================================== FAILURES ===================================
________________________________ test_automatix ________________________________
[gw1] linux -- Python 3.6.8 /usr/bin/python
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py:1803: in _execute_context
    cursor, statement, parameters, context
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py:732: in do_execute
    cursor.execute(statement, parameters)
E   psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer
E   LINE 3: WHERE dev.dids.project = 17420750 AND dev.dids.did_type = 'C...
E                                  ^
E   HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
```

The `project` variable used is initialized via the first 8 characters of
a random uuid4 string. This string contains hexadecimal values, which
can lead to a string with the 8 first characters being just integers.
The probability for that with `(10 / 16) ^ 8 = 2.33%` (if we asume a
uniform distribution) is fairly low, however, we run the tests quite
frequently. This thus is a vaiable candidate for the error.

The `filter_engine` used in `list_dids` is responsible for converting
the string to an int. This is desired for now. Postgres is the only
engine which does not provide a functionality to compare a string and an
integer.

Using a string which does not automatically gets converted to an integer
solves the problem.
bari12 pushed a commit that referenced this issue Sep 15, 2022
Since 7093082 (Improvements of automatix daemon : Closes #5616, #5617
(#5621), 2022-09-02), the `test_automatix` test fails infrequently. The
error message provided suggests, that the `project` variable sometimes
get converted to an integer:

```
=================================== FAILURES ===================================
________________________________ test_automatix ________________________________
[gw1] linux -- Python 3.6.8 /usr/bin/python
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py:1803: in _execute_context
    cursor, statement, parameters, context
/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py:732: in do_execute
    cursor.execute(statement, parameters)
E   psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer
E   LINE 3: WHERE dev.dids.project = 17420750 AND dev.dids.did_type = 'C...
E                                  ^
E   HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
```

The `project` variable used is initialized via the first 8 characters of
a random uuid4 string. This string contains hexadecimal values, which
can lead to a string with the 8 first characters being just integers.
The probability for that with `(10 / 16) ^ 8 = 2.33%` (if we asume a
uniform distribution) is fairly low, however, we run the tests quite
frequently. This thus is a vaiable candidate for the error.

The `filter_engine` used in `list_dids` is responsible for converting
the string to an int. This is desired for now. Postgres is the only
engine which does not provide a functionality to compare a string and an
integer.

Using a string which does not automatically gets converted to an integer
solves the problem.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants