Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
Since the table loader also sets (table) write locks, a special
lock type, 'load', was needed. Unfortunately, this affects mnesia
activity callbacks that redefine the lock operation.
|
|
With {majority, true} set for a table, write transactions will
abort if they cannot commit to a majority of the nodes that
have a copy of the table. Currently, the implementation hooks
into the prepare_commit, and forces an asymmetric transaction
if the commit set affects any table with the majority flag set.
In the commit itself, the transaction will abort if it cannot
satisfy the majority requirement for all tables involved in the
thransaction.
A future optimization might be to abort already when a write
lock is attempted on such a table (/-object) and the lock cannot
be set on enough nodes.
This functionality introduces the possibility to automatically
"fence off" a table in the presence of failures.
This is a first implementation. Only basic tests have been
performed.
|
|
* sa/dialyzer-tests: (22 commits)
Update dialyzer.spec
Add race/ets_insert_public
Add opaque/ewgi,ewgi2
Add opaque/schuett_bug
Add small/param_types_crash
Add small/file_open_encoding
Add small/false_false
Add small/ets_update_counter
Add small/bin_compr
Add small/tuple_set_crash
Add small/refine_failing
Add small/not_bogus_warning
Add small/none_scc_inf_loop
Add small/guards
Add small/guard_warnings
Add small/confusing_record_warning
Add small/blame_contract_range
Update small/recursive_types2 source
Update opaque/zoltan_kis* sources
Update options1/compiler results
...
OTP-9278
|
|
* ks/list_to_bitstring:
Fix handling of <<_:N,_:_*M>> type expressions
Fix the argument of erlang:list_to_bitstring/1
Move function to its proper place
Remove unneeded function 'sequence/2'
OTP-9277
|
|
OTP-9274
|
|
* tm/xmerl_attr_charref_fix:
Prevent xmerl from over-normalizing character references in attributes
|
|
* lukas/common_test/timeout_location_fix/OTP-9265:
Fix ct_framework to not crash when error_notification location is undefined.
|
|
* kj/eunit-race-cond:
Don't let eunit_surefire report back to eunit when stopping
Wait until all eunit listeners terminate
OTP-9269
|
|
* lukas/common_test/ct_hook_bugs/OTP-9264:
Fix bug which would make cth's to not be removed when out of scope when adding a cth in suite/0 and crashing in pre_init_per_suite.
|
|
* ia/ssl/more-socket-options-dialyzer-issues:
Spec corrections
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*_SUITE.erl files are now automatically generated by the respective data
directories by the Makefile.
|
|
|
|
|
|
* ta/unicode-non-chars:
unicode: document 16#FFFE and 16#FFFF (non chars)
OTP-9256
|
|
* mh/inhibit-newline-inside-typespec:
Inhibit electric newline after "->" when inside a type spec
OTP-9255
|
|
* ia/ssl/dialyzer-iodata:
Changed iolist() to iodata()
|
|
|
|
|
|
|
|
Same functionality provided by string:join/2.
|
|
* ms/erl_interface-compile-error:
erl_interface: fix compile error
OTP-9252
|
|
ssl:send/2 takes iodata() as a second
argument. erlang:iolist_to_binary should really be called
erlang:iodata_to_binary which caused the mismatch in the first place.
|
|
Section 3.3.3 of the XML Recommendation gives the rules for
attribute-value normalization. One of those rules requires
that character references not be re-normalized after being
replaced with the referenced characters:
For a character reference, append the referenced
character to the normalized value.
And, in particular:
Note that if the unnormalized attribute value contains
a character reference to a white space character other
than space (#x20), the normalized value contains the
referenced character itself (#xD, #xA or #x9).
Source: http://www.w3.org/TR/xml/#AVNormalize
In xmerl_scan, however, character references in attributes are
normalized an extra time after replacement. For example, the
character reference "
" in the following XML document gets
normalized (incorrectly) into a space when parsed:
2> xmerl_scan:string("<root x='
'/>").
{... [{xmlAttribute,x,[],[],[],[],1,[]," ",false}] ...}
This short patch restores the correct behavior:
2> xmerl_scan:string("<root x='
'/>").
{... [{xmlAttribute,x,[],[],[],[],1,[],"\n",false}] ...}
NOTE: This change does not include tests because I could not
find a test suite for xmerl.
|