-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathTODO
134 lines (107 loc) · 5.15 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
TODO
====
The list of known issues, which have to be addressed!
src/persist/assettopology.cc (MARIA_DB_CRASH):
-------------------------------------------------------------
-> The known issue with mariadb crash. Rework when crash would be fixed.
src/persist/assetmsg.cc (insert links):
-------------------------------------------------------------
-> Inserting of the information is not done yet. But it is assumed, that
It is not possible to insert the link (NULL,7,NULL,8) twice
(src_out:src-id:dest_in:dest_id).
src/utils/messages :
--------------------
GCL: Major comments are same as previous on PR BIOS-347 :
-> The validation JSON file name should include the kind of message
(Request, Reply, Pub, Sub...),
-> The validation JSON file name should include the client name,
-> The validation schema should not have client module attribute
name hardcoded,
-> The validation schema should have a version property,
-> the printf calls should be remplaced by a right log API usage.
see http://stash.mbt.lab.etn.com/projects/BIOS/repos/core/pull-requests/23
for more detail.
src/cli/cli-network.cc :
------------------------
* Command line output does not match the documented definition at
http://kamino.mbt.lab.etn.com:8200/display/BiosWiki/rfc-10
* cli should use cidr to perform check on input values
BIOS-354 :
----------
-> In database is already stored an UTC_TIMESTAMP.
-> In monitorpersistence.cc a date is extracted as UNIX_TIME (with the
database function). Problem would appear with dates after 2038.
Solution: 1. wait until in database would be implemented a 64-bit version
of this function. 2. In case of need write our own PL/SQL function.
Upcoming CLEANUP-UP cycle :
------------------------
==== src/drivers/nut/nut-driver.h ====
-> bad header guard
-> namespace
==== src/drivers/nut/nut-driver.cc ====
-> namespace
==== src/drivers/nut/nut-actor.h ====
-> namespace; header guard
==== src/drivers/nut/nut-actor.cc ====
-> namespace
==== src/cored ====
I propose to drop this directory with its contents entirely
==== src/cli ====
I propose not to drop this directory yet; it's been removed from build
==== src/utils/<everything persistence related> ====
-> move to src/persistence
-> namespace; suggestion: db
-> QUESTION: Do we want to rename some of the files with the move?
(i.e. assetmsgpersistence.cc -> assetmsg.cc or similar)
==== src/utils/{cidr.*, log.*} ====
-> implied namespace change
==== src/utils/zmq.hpp ====
I suggest to remove this file
==== src/utils/messages ====
I propose to drop content of this directory; not the directory itself
-> after the rename move zproto files to src/shared/messages;
-> generated .c & .h files will go into src/include
==== src/web ====
Because I haven't seen the contents of (or worked with) this directory before,
I wouldn't like to suggest any clean-up tasks here. Perhaps MHR could weigh in
if anything is needed to be done here.
==== tools/ ====
-> drop SqlLite.sql
-> drop my1db.db
-> rename db.sql to skeleton.sql (import.sql... anything); perhaps even
-> we need to come up with a solution to dbinit.h; dbpath and dbpath.h.in files
==== tests/* ====
-> rename utils to shared, to reflect the change
-> do not drop the cli
==== src/include/defs.h ====
-> should become a file with only declarations; move all definitions to some
.c file and link consumers with that, so there are no conflicts if several
objects in one program #include this defs.h
=== The building infrastructure ===
==== Makefile.am =====
-> Generate a docs/devel/index.html with the list of generated HTML and
unprocessed text files and a link into "doxygen/" and deliver it;
add a footer with the build information (git, host, timestamps...)
This may be based on the recently added .git_details file contents.
-> research and refactor generation of doxygen/ docs, preferably to have
them really generated (5+ Mbytes worth) in the build directory but
with relative URL-links to src/* rather than build-host absolute paths
==== configure and .in processed files ====
-> (?) refactor some scripts to become generated with substitution of default
passwords, user/group names, etc. instead of current hardcoding.
-> SASL MUX path - test the sasl service startup/config files for the mux
path or directory that contains it (at least the few predefined variants)
as a further fallback option
-> Thread Sanitizer builds currently do not work; possibly some compiler
flags are in conflict. Research and fix.
==== CI and RC scripts ====
-> there is a lot of duplicated logic regarding startup of components and
needed system services (malamute, tntnet, mysql) across different scripts
for CI and end-user runtime environments. Converge these so only one is
actually developed (e.g. `tools/rc-bios`) and others call it.
-> experiment: verify whether our component programs need to start with an
`LD_PRELOAD` when built with ASan support, like is currently done for the
`bios_web.so` as part of `tntnet` during `make web-test` to support the
third-party libraries with dynamic runtime instrumentation. If so, improve
the `tools/rc-bios` script to detect (`ldd`?) and meet this need when
running our project's programs.