8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 05:23:02 +01:00
Commit Graph

52 Commits

Author SHA1 Message Date
James Clarke
0dc0a4b595 Fix locking on big-endian architectures
4e4d8002e5 extended locks to have 64-bit
keys in most cases, but some were left as 32-bit. However, code using
these 32-bit locks assumed that the significant bytes of the key's long
value started from lck_string[0], which is false on big-endian
architectures.  This commit adds Lock::getKeyString(), which gets a
pointer to the first used byte of lck_string, and should be used in
place of accessing lck_string directly.
2016-05-07 22:09:09 +01:00
dimitr
dc7aad88ed 1) Slightly refactored recheduling and checkout logic.
2) Re-enabled checkouts in PIO routines, this resolves CORE-4179. Windows build may be broken, please validate.
3) Implemented faster reaction on asynchronous cancellation/shutdown requests.
4) Avoided locking dbb_sync in AST. This change also solves races during massive attachment shutdown.
2015-11-29 15:12:31 +00:00
alexpeshkoff
c4c9daf132 Avoid limits on size of status vector in engine. Ensure that status is always clean on entry to interface methods. 2015-03-20 18:02:30 +00:00
dimitr
36af3d8cb2 Cleanup and small refactoring to avoid redundancy. 2014-08-15 14:19:02 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
hvlad
1d18b9cefc Front ported:
fix for bug CORE-4444 : Engine could hung and block all attachments in out of disk space condition during physical backup,
improvement CORE-4445 : Extend main database file faster when physical backup state changed from stalled to merge
2014-06-10 11:33:59 +00:00
hvlad
d8cefdea39 Front ported fix for bug CORE-4433 : GlobalRWLock could not downgrade EX lock to SH if readers is present 2014-05-16 12:10:00 +00:00
hvlad
d125f5617a Fixed warning by PVS-Studio
Review is appreciated
2014-02-25 14:18:32 +00:00
dimitr
fe23598a23 Separated shutdown (mostly for locks) from destruction. 2013-11-13 07:44:50 +00:00
dimitr
13949c0550 Fixed the status vector being left dirty after the non-critical lock manager error.
This resolves CORE-4265: Unexpected lock conflict error may be raised while connecting to a heavily loaded database.
2013-11-12 16:52:32 +00:00
asfernandes
7e1ca71911 Misc. 2012-12-21 01:49:16 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
dimitr
42a4c93b97 1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related  refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
asfernandes
cf6e699698 Misc. 2012-06-03 15:43:59 +00:00
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
dimitr
93089a4261 Misc. 2011-11-16 17:41:27 +00:00
dimitr
444d5302e1 Refactored the tdbb initialization, especially in AST and BG threads.
Replaced dbb_use_count with a list of active requests (to be utilized later).
Misc cleanup.
2011-10-18 18:02:57 +00:00
asfernandes
d0c2265105 Misc. 2011-05-10 01:12:14 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
hvlad
e669598b32 Fixed bug CORE-2647 : Race condition during detach database can lead to AV 2009-09-29 09:13:37 +00:00
alexpeshkoff
ecbf4312a1 Implemented CORE-2644: Make lock table expandable on HPUX 2009-09-28 16:03:44 +00:00
roman-simakov
f58edb9d9d Fixed AV while database shutting down after gfix -shut full. Reported by Alex. 2009-04-08 14:44:26 +00:00
asfernandes
f6f364da49 Trim trailling spaces 2009-04-04 16:39:31 +00:00
asfernandes
87d019f022 Fix warnings 2009-03-18 02:55:35 +00:00
asfernandes
a6d88154ee Misc 2009-03-18 02:43:15 +00:00
roman-simakov
1a4949891b Refactored NBackup subsystem.
1) Fixed CORE-1696 - "Deadlock in LM by using nbackup utility" with priority rating of lock requesting for LCK_backup_database and LCK_bdb.
2) A lot of stability fixes were made.
3) The key thing is using new GlobalRWLock for removing LCK_set_owner_handle function and speed up performance.
4) The code is still ready for using both in shared cache architecture and in claster architecture.
2009-03-17 07:39:55 +00:00
robocop
95292d1731 Style. 2008-12-20 08:12:19 +00:00
robocop
d39690fbff Style (and let lines grow up to 100 columns). 2008-12-04 09:29:16 +00:00
alexpeshkoff
13a15d4bfe 1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
alexpeshkoff
a5067b3eae fixed gcc warning 2008-08-18 13:26:11 +00:00
roman-simakov
59ae35d837 Style 2008-08-13 09:02:35 +00:00
roman-simakov
91e5b3dc05 Added missed synchronization. Thanks to Adriano. 2008-07-28 12:18:20 +00:00
roman-simakov
f2ec2568a0 Fixed using GlobalRWLock for multiple writes by the some logical owner. 2008-07-23 16:03:35 +00:00
dimitr
07e0133f2b Simplified the dbb_sync handling. This becomes possible because of the prior commit.
With checkouts being allowed for ASTs, the AstInhibit code also becomes redundant.
2008-06-04 13:38:40 +00:00
roman-simakov
dda2676ba5 1. Fixed unlocking header page while CCH_release. Thanks to Vlad.
2. Fixed writing page while nbackup merge state is stalled.
3. Fixed using dead dbb in AST handler while somebody is changing cached lock of the GlobalRWLock.
2008-04-16 09:16:45 +00:00
robocop
7096c6a25b const and check. 2008-03-29 14:01:48 +00:00
dimitr
1f22e3e1c1 1) Added proper handle validation for dbb.
2) Changed dbb_sync lifestyle handling.
3) Sync'ed access to the att_long_locks.
4) Put in a temporary workaround for nbackup deadlocks.
2008-03-20 16:42:29 +00:00
dimitr
f5659c0b70 1) Major cleanup of the old-style blk and allocator-based blk_type.
2) Added synchronization for the JRD locks.
2008-03-19 16:19:56 +00:00
dimitr
afb970dba1 1) Cleanup.
2) Catch exceptions in AST routines.
2008-03-12 16:53:57 +00:00
dimitr
43594ed53a Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 13:17:19 +00:00
alexpeshkoff
520b831d50 Fixing merge 2008-01-16 12:30:52 +00:00
dimitr
e08c5da397 The merge continued. 2008-01-16 09:07:24 +00:00
alexpeshkoff
eea9070f48 Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster 2007-12-03 15:46:39 +00:00
robocop
bc5d45e62e The lock_string argument can be const. 2007-09-22 08:34:28 +00:00
robocop
bcbf35c64c Misc. 2007-08-12 05:22:59 +00:00
alexpeshkoff
adfa8facf7 Use AstInhibit in GlobalRWLock 2007-08-10 13:57:25 +00:00
alexpeshkoff
6d66c28b13 Fixed solx86 build - not always offset_t and UINT64 are the same 2007-08-10 07:55:46 +00:00
alexpeshkoff
6ffb669c2b fixed gcc warning, human readability also here 2007-05-24 12:30:41 +00:00
skidder
8539ceb992 Small NBAK performance optimization from Rom
an Simakov
2007-05-04 21:25:04 +00:00