Elliptics version update: 2.19.2.8
[elliptics.git] / elliptics-bf.spec
blobd5c2c5dde271159891cfd768efdc274fedc51bc2
1 Summary: Distributed hash table storage
2 Name: elliptics
3 Version: 2.19.2.8
4 Release: 1%{?dist}
6 License: GPLv2+
7 Group: System Environment/Libraries
8 URL: http://www.ioremap.net/projects/elliptics
9 Source0: %{name}-%{version}.tar.bz2
10 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12 %if 0%{?rhel} < 6
13 BuildRequires: python26-devel, boost141-python, boost141-devel
14 BuildRequires: boost141-iostreams, boost141-thread, boost141-python, boost141-system
15 %else
16 BuildRequires: python-devel, boost-python, boost-devel, boost-iostreams, boost-thread, boost-python, boost-system
17 %endif
18 BuildRequires: eblob-devel >= 0.17.1
19 BuildRequires: smack >= 0.5.0
20 BuildRequires: leveldb-devel
21 BuildRequires: cmake
23 Obsoletes: srw
25 %description
26 Elliptics network is a fault tolerant distributed hash table
27 object storage.
30 %package devel
31 Summary: Development files for %{name}
32 Group: Development/Libraries
33 Requires: %{name} = %{version}-%{release}
36 %description devel
37 Elliptics network is a fault tolerant distributed hash table
38 object storage.
40 This package contains libraries, header files and developer documentation
41 needed for developing software which uses the cairo graphics library.
43 %package python
44 Summary: Elliptics library Python binding
45 Group: Development/Libraries
46 Requires: %{name} = %{version}-%{release}
48 %description python
49 Elliptics Python Language bindings.
52 %package python-devel
53 Summary: Elliptics library Python binding
54 Group: Development/Libraries
55 Requires: elliptics-python = %{version}-%{release}
58 %description python-devel
59 Elliptics Python Language bindings development headers and libraries.
62 %package c++
63 Summary: Elliptics library C++ binding
64 Group: Development/Libraries
65 Requires: elliptics = %{version}-%{release}
68 %description c++
69 Elliptics library C++ language binding.
72 %package c++-devel
73 Summary: Elliptics library C++ binding development headers and libraries
74 Group: Development/Libraries
75 Requires: elliptics-devel = %{version}-%{release}
76 Requires: elliptics-c++ = %{version}-%{release}
79 %description c++-devel
80 Elliptics library C++ binding development headers and libraries
81 for building C++ applications with elliptics.
83 %prep
84 %setup -q
86 %build
87 export LDFLAGS="-Wl,-z,defs"
88 export DESTDIR="%{buildroot}"
89 %if 0%{?rhel} < 6
90 export PYTHON=/usr/bin/python26
91 CXXFLAGS="-pthread -I/usr/include/boost141" LDFLAGS="-L/usr/lib64/boost141" %{cmake} -DBoost_DIR=/usr/lib64/boost141 .
92 %else
93 %{cmake} .
94 %endif
95 make %{?_smp_mflags}
97 %install
98 rm -rf %{buildroot}
99 make install DESTDIR=%{buildroot}
100 rm -f %{buildroot}%{_libdir}/*.a
101 rm -f %{buildroot}%{_libdir}/*.la
103 %post -p /sbin/ldconfig
104 %postun -p /sbin/ldconfig
106 %post python -p /sbin/ldconfig
107 %postun python -p /sbin/ldconfig
109 %post c++ -p /sbin/ldconfig
110 %postun c++ -p /sbin/ldconfig
112 %clean
113 rm -rf %{buildroot}
115 %files
116 %defattr(-,root,root,-)
117 %doc README doc/design_notes.txt doc/io_storage_backend.txt
118 %{_bindir}/*
119 %{_libdir}/libelliptics.so.*
120 %{_libdir}/libelliptics_client.so.*
121 %{_libdir}/libelliptics_cocaine.so.*
122 %{_libdir}/libelliptics_cache.so.*
125 %files devel
126 %defattr(-,root,root,-)
127 %{_includedir}/*
128 %{_libdir}/libelliptics.so
129 %{_libdir}/libelliptics_client.so
130 %{_libdir}/libelliptics_cocaine.so
131 %{_libdir}/libelliptics_cache.so
133 %files python
134 %defattr(-,root,root,-)
135 %{_libdir}/libelliptics_python.so.*
136 %{python_sitelib}/elliptics*
139 %files python-devel
140 %defattr(-,root,root,-)
141 %{_libdir}/libelliptics_python.so
144 %files c++
145 %defattr(-,root,root,-)
146 %{_libdir}/libelliptics_cpp.so.*
149 %files c++-devel
150 %defattr(-,root,root,-)
151 %{_libdir}/libelliptics_cpp.so
154 %changelog
155 * Mon Nov 26 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.8
156 - dnet_remove_object_raw() must return positive number of transactions sent
158 * Thu Nov 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.7
159 - Fixed dnet_mix_states() when ID is null
161 * Wed Nov 21 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.6
162 - Tune nonblocking pool growing policy
163 - All dnet_remove*() functions should return error, if ack returned negative status.
164 - poll() uses msecs as timeout
166 * Mon Nov 12 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.5
167 - Added atomic number of available IO threads, only grow up pool if we have blocked sph and there are no threads available.
169 * Mon Nov 12 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.4
170 - Added atomic number of available IO threads, only grow up pool if we have blocked sph and there are no threads available.
172 * Wed Nov 07 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.4
173 - Added temoporary debug
175 * Tue Nov 06 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.3
176 - Only enlarge non-blocking pool when there is blocking sph in the pool.
178 * Fri Nov 02 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.2
179 - Fixed python installation in Lucid
180 - Remove signal setup in library. Do not block signals on ioserv exit
181 - Only write error message when real error occurs in leveldb_backend_read()
183 * Fri Oct 26 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.1
184 - Fixed precise build
186 * Fri Oct 26 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.2.0
187 - When creating new state we should not send auth/join commands to itself
188 - Return back periodic route table check
189 - Added LevelDB backend
191 * Thu Oct 25 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.1.0
192 - Depend elliptics-dev on elliptics with (>= ${Source-Version}) version
193 - Do not check for n->st when setting up new server node
194 - When it is called from dnet_server_node_create()->dnet_state_create()
195 - there is no n->st, and that's exactly the path where server
197 * Fri Oct 19 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.0.1
198 - Use autogenerated major/minor elliptics versions. Whole version is being read from debian/changelog file
199 - Fix CMake file with missing boost libraries
200 - Bump ABI version (missed from 2.18->2.19 upgrade)
201 - Drop site-packages from elliptics-client
202 - Depend on >= 0.9.4 cocaine
204 * Wed Oct 10 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.19.0.0
205 - Added sessions - this allows to configure and set per-request parameters (like groups)
207 * Wed Oct 10 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.3.2
208 - Fixed reply size calculation
209 - Unify srw log rules
210 - Fixed pool growing policy
211 - Updated debian package rules
213 * Mon Oct 08 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.3.1
214 - When running recovery-on-read do not write io attribute header
216 * Mon Oct 08 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.3.0
217 - Grow IO pools on demand
218 - Added automatic recovery on read command:
219 - if object didn't exist in previously read group,
220 - it will be written when read from the next group succeed
221 - Documentation update
222 - Added multicast autodiscovery
223 - If state is already exist, do not fail with error
224 - Fixed the ugliest debian python installation
225 - Added new python bindings
226 - Do not try to run command if srw was not initialized
227 - Populate cache on READ command when DNET_IO_FLAGS_CACHE ioflag is set
229 * Thu Sep 20 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.2.1
230 - Added c++/python bindings for cache write operations (including timeout)
231 - Added remove-from-disk cache operation: when such flag is set (at write time)"
232 - if object is removed from cache, it is also removed from disk
233 - Increase example number of non-blocking io threads
234 - Added 'overwrite commits write' comment
236 * Mon Sep 17 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.1.2
237 - dnet_backend_log_raw() should use dnet_backend_check_log_level() to check log level
238 - Added startup stack size check
239 - Cocaine job has to be created only when it can be queued
241 * Fri Sep 14 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.1.1
242 - Update version num
244 * Thu Sep 13 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.18.0.1
245 - New interface for execution, reply and chaining
246 - Do not strip rpath
247 - Fixed server node cleanup bug when it destroyed locks first while IO threads could still use them
248 - dnet_send_cmd_raw() must always wait for ack
249 - Fixed thread creation bug in app_watcher when application does not exist
250 - Added -g flag to elliptics build
251 - Use weak symbols instead of stubs in client lib, since server also links to it and in Fedora it ends up using stubs from client lib
252 - Search for 0mq only of cocaine is enabled
253 - Update debian packaging
254 - Fixed build-depends
256 * Fri Aug 31 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.17.0.4
257 - elliptics-client must replace old-school elliptics-2.10
259 * Thu Aug 30 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.17.0.3
260 - Added python-support to dep list
261 - Use correct package name in shlibs
263 * Wed Aug 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.17.0.2
264 - Switch to cmake from autoconf
266 * Mon Aug 20 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.17.0.1
267 - Depend on eblob 0.17.1 and higher
268 - Use log level instead of log mask
269 - Depend on smack 0.5.0 and higher
270 - Added cdbs dep
271 - Added in-memory (optionally disk-backed) LRU cache
272 - Get rid of boost-filesystem
273 - Split code (and debian package) to client/server libs
274 - New unlink interfaces
275 - Added ioflags to ioclient
276 - If lookup returned error, proceed read-latest with default order
277 - Let DNET_CMD_DEL use dnet_io_attr structure too
279 * Wed Aug 08 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.16.0.1
280 - Added possibility to start defragmentation on demand
281 - Added reserved 'hostname' word for local address
282 - Added cleanup call into node destruction path, which fixes double free error in config error path
283 - Implemented blocking exec commands
284 - Refactor pools of workers
285 - Set cocaine log level based on elliptics log mask
286 - Completely created client library
287 - Fixed json example path
289 * Tue Jul 24 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.15.0.1
290 - Send correct answer in smack_write
291 - New bulk_read()
292 - New event string for application invocation
293 - Corrected changelog
294 - Depend on smack 0.4.0 and higher
296 * Mon Jul 02 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.1.4
297 - Log all client job errorrs into app/.log file in elliptics
298 - Set nocsum flags in io-attr when it is set in global node's config
300 * Wed Jun 27 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.1.3-1
301 - Depend on smack 0.3.0 and higher
303 * Tue Jun 26 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.1.2-1
304 - Use smack_total_elements() to get number of records
306 * Mon Jun 25 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.1.1-1
307 - Disable signals in library and enable in server and ioclient
308 - Added cocaine library documentation
309 - Added smack configuration
310 - Sync with upstream smack repo
312 * Fri Jun 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.7-1
313 - Fixed typo in smack config parser
315 * Fri Jun 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.6-1
316 - Sink srw log into app + ".log" object in elliptics
318 * Fri Jun 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.5-1
319 - Added SMACK backend depends
321 * Fri Jun 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.4-1
322 - Drop cocaine plugin dependencies
324 * Fri Jun 22 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.3-1
325 - Added new cocaine debian package deps
326 - Drop cocaine deps in RHEL/Fedora build
328 * Thu Jun 21 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.2-1
329 - Build srw fix (use weak symbol for dnet_log_raw())
330 - Added new eblob bit to config documentation, drop unused parameters
331 - Fixed write response generation
333 * Fri Jun 15 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.14.0.1-1
334 - Use cocaine workers for server-side
335 - Drop dnet_attr structure
336 - Optimize read (do not send ack if there is data)
337 - Use ioremap::elliptics namespace
338 - Added ::push() - nonblocking exec
340 * Sun Apr 28 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.9-1
341 - Do not allow zero-sized reads
342 - Do not double-close python init file
344 * Sat Apr 27 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.8-1
345 - Added new lookup() methods to c++/python bindings. Patch by Anton Kortunov <toshik@yandex-team.ru>
346 - If we fail to open log file, dup2() stdout/stderr to /dev/null in spawned worker process
348 * Fri Apr 27 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.7-1
349 - More mess with 012 file descriptors - dup them to /dev/null when going background, reopen to log file in srw worker
350 - Use correct F_SETFD/FD_CLOEXEC
351 - Use old-school fcntl() instead of accept4() and epoll_create1()
352 - Allow script execution without cmd-line
354 * Fri Apr 27 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.6-1
355 - Added srw config options
356 - Added O_CLOEXEC flags
357 - Added new configs (for nginx and fastcgi frontend) and python example
358 - Return sub data from smack_write() call - this is needed for fastcgi frontend
359 - Let dnet_ioclient write file by ID
360 - Added smack backend wrapper
362 * Fri Apr 6 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.5-1
363 - Build dependencies update
364 - Do not write metadata when appropirate bit is set in node->flags
365 - Update documentation about blob flags
367 * Fri Mar 23 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.4-1
368 - Updated state mixing algorithm
369 - Added defrag_timeout, defrag_percentage and blob_size options to file backend
371 * Mon Mar 19 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.3-1
372 - Allow ioclient to read/write data in different columns
373 - Hardlink script should overwrite data
374 - Fixed file read/write with different column
375 - Use correct pipe path, which includes pid
376 - Use correct structure size for dentries and extended logging
377 - Do not set name for main process
379 * Sun Mar 13 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.2-1
380 - Use exactly specified in config socket family
381 - Obsolete srw by ellipitcs
382 - Revert "Use X bits from operation key to find a lock instead of random hashing"
383 - Added proper sigchild handling
384 - spec update - added libsrw.so* files
385 - Dropped srw dependancy
387 * Sun Mar 11 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.13.0.1-1
388 - Added srw
390 * Wed Feb 29 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.12.0.1-1
391 - Depend on 0.15 eblob: added new defragmentation parameters into config
392 - Propagate prepare_write() and friends return values back to callers - changed API
394 * Sun Feb 19 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.7-1
395 - Get rid of virtually unused and unneded eblob generation tools. It can be replaced by trivial python scripts
396 - Updated python scripts to use new eblob class
397 - exec is reserved name in python, use exec_script for execution method name
399 * Thu Feb 16 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.6-1
400 - Added possibility to read metadata from file and dump to log
401 - Added remove_keys_from_storage_found_removed_in_eblob.py
402 - Added local merge iterator written in python. Is not optimal, but quite fast.
404 * Tue Feb 14 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.5-1
405 - Execute CHECK commands with NOLOCK flag
407 * Sat Feb 11 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.4-1
408 - Use correct eblob path for statvfs() request
410 * Mon Feb 8 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.3-1
411 - Set id.type to 0 where appropriate
412 - Request statistics with DNET_ATTR_NOLOCK flag set
413 - Fixed pohmelfs_rename.py
415 * Mon Feb 6 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.2-1
416 - Process checksum flags according to aflags and ioflags
418 * Wed Feb 1 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.1.1-1
419 - Added start/num parameters to iterate over selected number of blobs.
420 - Depend on 0.14.1 blob and higher where it is implemented.
422 * Thu Jan 26 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.15-1
423 - Added readdir script
424 - Dropped content length manipulation from srw/pohmelfs_inode_info_insert.py
425 - Use dnet_process_meta instead of dnet_process_cmd_raw to prevent deadlocks
427 * Tue Jan 24 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.14-1
428 - Reserve some space for directory content
429 - Added pohmelfs_read_latest_groups.py script
430 - Implemented prepare-latest helper, which returns timestamp sorted groups which contain requested id
431 - If we have more data to send, set only DNET_FLAGS_MORE flag, not erase others
432 - Rename cpp bindings
433 - Fixed range requests without limits
435 * Tue Jan 17 2012 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.13-1
436 - Sort keys on server side in range requests
437 - Disable eblob_gen for now
438 - Address new binutils issues (gcc 4.6 compilation fixes)
440 * Wed Dec 21 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.12-1
441 - Trying to address new binutils issues
442 - Fill with zeroes all io threads structures
443 - Set io.num to content size+offset in write_data_wait() - it allows to use prepare/commit flags
445 * Tue Dec 20 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.11-1
446 - Implemented check for start/stop update timestamp
447 - Added cache tests in test.cpp
449 * Thu Dec 15 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.10-1
450 - Added configurable two-queue cache for read data by Anton Kortunov <toshic.toshic@gmail.com>
452 * Mon Dec 12 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.9-1
453 - Reopen log file on sighup
455 * Fri Dec 9 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.8-1
456 - Set DNET_FLAGS_NOLOCK for route/reverse lookup request/reply commands
457 - Added memory_test_pohmelfs() autotest
458 - Added gc calls into pohmelfs methods
459 - Fixed exception string generation for null ids
460 - Added small memory/leak test
462 * Fri Dec 2 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.7-1
463 - Use eblob_read_nocsum() if DNET_IO_FLAGS_NOCSUM is set
465 * Thu Dec 1 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.6-1
466 - Cleanup unused variables
467 - Fixed reply cmd->flags initialization
468 - Use boost::filesystem v2
469 - Fixes in bulk_read and bulk_write
471 * Mon Nov 28 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.5-1
472 - Implemented pool of non-blocking threads for recursive commands.
473 - Dropped metadata csum support in favour of eblob embedded checksums.
474 - Added bulk_write operation.
475 - Added sstable parser into python module
477 * Thu Nov 23 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.4-1
478 - Added nolocking IO thread
480 * Thu Nov 23 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.3-1
481 - Added oplock_num config parameter
482 - Added non-blocking thread checks
484 * Wed Nov 23 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.2-1
485 - Aflags/lock cleanups
487 * Wed Nov 23 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.11.0.1-1
488 - Added operations locks. Now all commands are processed with single-machine-atomicity
489 - Added server-side scripts
491 * Wed Nov 23 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.13-1
492 - Only perform blob write if io->size is not zero
494 * Tue Nov 22 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.12-1
495 - Initialize srw after node
497 * Tue Nov 22 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.11-1
498 - Do not chroot into history environment, since it is most likely incomplete
500 * Tue Nov 22 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.10-1
501 - Do not csum read when DNET_IO_FLAGS_NOCSUM ioflag is set
502 - When doing partial read, checksum whole file
504 * Sat Nov 19 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.9-1
505 - cpp tests update
506 - Return -ENOTSUP if srw is not initialized
507 - Do not reset join state to RECONNECT after it has been created
508 - Added stall_count as a configurable parameter
509 - Added BULK_READ command
511 * Tue Nov 15 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.8-1
512 - Fixed range counters
513 - Added ::remove() methods into python binding
514 - Remove all types if -1 as id->type is specified
515 - RHEL build must depend on eblob-devel >= 0.12.18 libsrw-devel >= 0.2.2
517 * Mon Nov 14 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.7-1
518 - Moved some objects from interface.h to packet.h
519 - Added range counters
520 - DNET_IO_FLAGS_PLAIN_WRITE must differ from DNET_IO_FLAGS_NOCSUM
521 - Use IP_TOS instead of SO_PRIORITY to set tos bits
522 - srw is called libsrw in rhel builds
523 - Depend on 0.12.18 eblob and 0.2.2 srw
525 * Thu Nov 3 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.6-1
526 - Depend on 0.2.1 srw and higher
528 * Thu Nov 3 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.5-1
529 - Added binary data support in srw
531 * Tue Nov 1 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.4-1
532 - Do not fail node initialization if srw is not initialized
534 * Mon Oct 31 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.3-1
535 - blob_send modified to send all columns if id.type == -1
536 - Do not depend elliptics build on libssl
537 - eblob/srw autoconf updates
538 - Do not return 1 from blob_write when data was compressed, return 0, since
539 there was no error
541 * Tue Oct 25 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.2-1
542 - Added srw dependency
543 - Do not call dnet_convert_io_attr for DNET_CMD_DEL command
545 * Wed Oct 19 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.1-1
546 - Decreased WRITE latency
547 - Use CORK for write blocks
549 * Wed Oct 19 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.4.0-1
550 - Added ioprio call inside check
551 - More example ioserv.conf comments
552 - Added client/server network priorities (man 7 socket -> IP_PRIORITY)
554 * Sat Oct 15 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.3.9-1
555 - Fixed memory allocation in range-delete
557 * Tue Oct 11 2011 Evgeniy Polyakov <zbr@ioremap.net> - 2.10.3.7-1
558 - Only set BLOB_DISK_CTL_NOCSUM if DNET_IO_FLAGS_NOCSUM is set
559 - Added dnet_get_routes function
560 - Added server-side scripting support
561 - Example ioserv.conf update
562 - Spec update
564 * Thu Dec 9 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.5.2-1
565 - Implemented multiple read in elliptics core and FCGI frontend.
566 - Implemented very user-friendly C++/Python interface.
567 - Extended FCGI xml output for POST request: added data crc, size,
568 per-group addresses and path to the destination object on file backend.
570 * Fri Dec 3 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.5.1-1
571 - Documentation update.
573 * Fri Dec 3 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.8-1
574 - Fixed fcgi reading with new groups URI.
576 * Fri Dec 3 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.7-1
577 - Implemented automatic groups selection by free space.
578 - Bug fixes.
580 * Thu Dec 2 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.6-1
581 - Fixed eblob_send().
582 - Use 50 check threads.
584 * Thu Dec 2 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.5-1
585 - Multi-threaded fsck.
586 - Bug fixes (including 2.9.4.4 version).
588 * Thu Nov 30 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.3-1
589 - Implemented bdb fsck (both merge and copy check).
591 * Thu Nov 25 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.2-1
592 - Switched to random ids (1024 ids are generated at first start)
594 * Fri Nov 19 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.4.1-1
595 - Switched to new addressing model
597 * Tue Nov 9 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.14-1
598 - Remove direct object if it can not be uploaded to the storage.
600 * Tue Nov 9 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.13-1
601 - Remove empty/broken history objects during merge.
603 * Tue Nov 9 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.12-1
604 - Added more debug about processed objects in fsck tools.
605 - Delete directly read object if its history can not be mapped.
606 - Return error from dnet_merge_direct() when merge falls back to direct
607 merge during common merge.
609 * Sat Nov 4 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.11-1
610 - Attempt to do direct merge when we can not parse non-direct history stored in main storage.
612 * Sat Nov 4 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.10-1
613 - Fixed bit directory generation in file_backend_get_dir_bits()
615 * Thu Oct 21 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.9-1
616 - Fixed state leak in lookup processing.
618 * Thu Oct 21 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.8-1
619 - Always use local address for succeeded local lookup.
621 * Thu Oct 21 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.7-1
622 - Kill state when check thread got error. (7)
623 - Extended fire time debug. (6)
625 * Thu Oct 21 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.5-1
626 - Update transaction fire time to include check timeout.
628 * Wed Oct 20 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.4-1
629 - Extend dnet_send_read_data() to get offset from parameters and do not abuse dnet_io_attr structure.
631 * Wed Oct 20 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.3-1
632 - Unmap history after selecting transaction with the last update time in dnet_merge_get_latest_transactions()
634 * Mon Oct 18 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.2-1
635 - Added full object ID dump and request error.
636 - Exit merge early if no id file was provided.
637 - Do not dereference state in dnet_read_complete() if it is NULL.
638 - Added -N (do not request ids and use prevously downloaded) option comment into fsck help.
640 * Mon Oct 18 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3.2-1
641 - Extended alloc/free debug.
642 - Allow zero-sized writes.
644 * Wed Oct 13 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.3-1
645 - New minor release. No changes from 2.9.2.32.
647 * Mon Oct 11 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.32-1
648 - Added configurable value to check header for remote node IP address.
649 - Added joining client check: returned address must be reachable to be
650 inserted into route table.
652 * Fri Oct 8 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.31-1
653 - Fixed LA sorting.
655 * Wed Oct 6 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.29-1
656 - Added id-by-LA generation and sorting.
657 - Debug cleanups.
659 * Wed Oct 6 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.28-1
660 - Added timed statistics request which also works as timed connection checker.
661 - Added seconds-only check time wait.
663 * Wed Oct 6 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.27-1
664 - Added keep-alive options.
666 * Mon Oct 4 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.26-1
667 - Unlink transaction and history after direct merge.
668 - Do not log error when state is NULL in completion callback.
670 * Sat Oct 2 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.25-1
671 - Added norequest flag to fsck util (will use existing file).
672 - Fixed remotes processing typo.
674 * Thu Sep 30 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.24-1
675 - Do not traverse the whole transaction tree after we found the
676 first one which fire time has not yet elapsed.
678 * Thu Sep 30 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.23-1
679 - Remove io_thread_num and max_pending config parameters.
680 - Added stack size parameter to check tools.
682 * Mon Sep 20 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.22-1
683 - Moved transaction debug output into the place where it can not dereference stale data.
684 - Decrease debug level for allocations.
685 - Added addrinfo null check. Should be useless though.
687 * Mon Sep 20 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.21-1
688 - Do not dereference null state in dnet_fcgi_read_complete.
690 * Fri Sep 17 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.20-1
691 - Added thread stack size parameter.
692 - Added malloc mmap threshold config parameter. (19)
694 * Fri Sep 17 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.18-1
695 - Really fixed recv state transaction processing leak.
697 * Fri Sep 17 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.16-1
698 -Do not try to dereferece null state. Happens when transaction is completed
699 on timeout.
700 - Use lineary (+60 seconds each turn) growing reconnection timeout. Added
701 reconnection limit of 1 day.
702 - Fixed recv state transaction processing leak.
704 * Fri Sep 17 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.15-1
705 - Compilation typo fixed.
707 * Fri Sep 17 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.14-1
708 - Fill all allocated memory with zeroes.
710 * Thu Sep 16 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.13-1
711 - Put transaction after it was executed. Its refcnt was increased during
712 search call.
713 - Do not try to dereference state when it can be null.
714 - Do not create unneded listening state when node does not join network. (12)
715 - Reset accept state on error.
716 - Do not join to states in state lists, since they can be freed in own
717 threads. (11)
718 - Drop transaction resending support. (10)
719 - Extended local command processing log. (9)
720 - Also print pid in common logger. (8)
721 - Use pthread_self() instead of getpid() to get uniq thread id. (7)
723 * Tue Sep 7 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2.6-1
724 - If DNET_IO_FLAGS_NO_HISTORY_UPDATE flag was set for read command, do not
725 send data reply. Used in local stat command.
726 - Debug cleanup.
727 - From previous releases:
728 Do not deal with NULL transactions.
729 Start state IO thread after state initialization.
730 Join to io state thread instead of freeing it directly.
731 Do not exit from accept loop on error.
732 Initialize state list entry prior other usage.
734 * Tue Sep 7 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.2-1
735 - Switched from libevent state machine to thread-per-client model.
737 * Fri Aug 13 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.1.1-1
738 - Added DNET_FCGI_PUT_REGION config option to optionally enable region tag
739 - Added wildcard direct download pattern (*)
740 - Force direct download patterns to be checked against ID ending and
741 just by having this substring somewhere in the query.
743 * Tue Aug 10 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.1-1
744 - New elliptics network release: 2.9.1
746 * Tue Aug 10 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.31-1
747 - Logger cleanups.
748 - Fixed resend locking bug.
750 * Mon Aug 9 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.30-1
751 - Fixed lock/unlock typo in dnet_data_ready().
753 * Sat Aug 7 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.29-1
754 - Refactor fcgi logging (29)
755 - Return read error when key was not found. Use right config file options. (28)
757 * Thu Aug 6 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.27-1
758 - Added sanity checks for embedded reading.
760 * Thu Aug 6 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.26-1
761 - Disabled per-client statistics request in fcgi daemon.
762 - Added subtle timeout and data rewrite when FCGX_PutStr() returns error.
764 * Thu Aug 5 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.25-1
765 - Copy resolved address into buffer (later used for reconnection)
766 before trying to connect.
768 * Thu Aug 5 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.24-1
769 - Refactor fcgi/check loggers to write pid/thread id into single log file.
771 * Thu Aug 5 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.23-1
772 - Added <region> tag into download-info XML output
773 - Changed sending locking.
775 * Wed Aug 4 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.22-1
776 - Guard multiple 'logical' xml writes against parallel write
778 * Wed Aug 4 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.21-1
779 - Implemented direct transaction merge.
780 - If reading size was set to 0 map ~0ULL size, i.e. the whole file.
781 - Remove object from the storage if its history log says so.
782 - Drop unused DNET_FCGI_EMBED_TIMESTAMP_PATTERN and change to use
783 DNET_FCGI_EMBED_PATTERN option.
785 * Sun Jul 28 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.20-1
786 - Fixed several fd leaks.
788 * Sun Jul 28 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.19-1
789 - Unmap history file when failed to read transaction.
791 * Sun Jul 28 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.18-1
792 - Guard OpenSSL_add_all_digests() and initialize it only once per thread
793 group.
794 - Force dnet_check_process_request() to wait for all sent transactions, do
795 not wakeup after receiving reply from the first one.
797 * Sun Jul 28 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.17-1
798 - Fixed compilation warnings on 64bit platform (uint64_t to unsigned long
799 long and void * to unsigned long)
800 - Try only requested transformation function, do not continue with the next
801 one.
802 - Use errno to differentiate reconnection state.
804 * Sun Jul 28 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.15-1
805 - Made elliptics depend on eblob
806 - Updated checker's logger.
807 - Increase example/check/common.c waiting timeout.
808 - Added logs into file io backend listing processor.
810 * Sun Jul 26 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.12-1
811 - Let check applications to sleep longer waiting for replies.
812 - Reduce number of ids sent via DNET_CMD_LIST command to 1024 per reply.
813 - Mark states added via dnet_add_state() as reconnect-friendly.
814 - Do not add reconnection addresses which do not have joining flags.
815 - Updated to the latest eblob lib (moved blob code outside to libeblob).
816 - Reschedule transaction's fire time when (non-last) reply is received.
817 - Do not mess with dnet_fcgi_random_hashes outside of fcgi.c
819 * Sun Jul 25 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.11-1
820 - Added embedded URI parameter, which will force timestamp to be embedded
821 with data. It is possible to embed other parameters too.
823 post: wget -O /tmp/1111 -S --post-file=elliptics.spec
824 "http://devfs1/test.mp3?name=qwerty.xml&embed&timestamp=123"
826 get: wget -O /tmp/1111 -S --header="If-Modified-Since: Thu, 01 Jan 1970
827 00:02:00 GMT" "http://devfs1/test.mp3?name=qwerty.xml&embed&direct=1"
828 - fixed random hash selection in fcgi frontend.
830 * Fri Jul 23 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.10-1
831 -return back addressing magic^W logic in dnet_write_object_raw()
833 * Thu Jul 22 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.9-1
834 - return back virtual datacenters.
836 * Thu Jul 22 2010 Evgeniy Polyakov <zbr@ioremap.net> - 2.9.0.8-1
837 - BLOB IO backend updates (multiple threads, index, bug fixes).
838 - file IO backend fixes
839 - python bindings
840 - c++ binding fixes
842 * Mon Jul 19 2010 Arkady L. Shane <ashejn@yandex-team.ru> - 2.9.0.7-1
843 - initial build for Fedora