<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/mnesia/test, branch OTP-19.0.7</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Add test debug information and fix timing issues</title>
<updated>2016-06-13T12:17:06+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-05-25T09:44:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a238e070e3f498b0fdb4112fd8467ef70a681e11'/>
<id>a238e070e3f498b0fdb4112fd8467ef70a681e11</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mnesia: Fix index match return patterns</title>
<updated>2016-05-24T14:17:51+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-05-24T14:17:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=cba63cdb2c236c7e0a90070bb10217d5297f9dd7'/>
<id>cba63cdb2c236c7e0a90070bb10217d5297f9dd7</id>
<content type='text'>
When building match result patterns the tuples they must qouted
with { }, which causes a problem with variable patterns.

Use element(1, Match) instead of trying to build the two tuple.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When building match result patterns the tuples they must qouted
with { }, which causes a problem with variable patterns.

Use element(1, Match) instead of trying to build the two tuple.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dgud/mnesia/ext-backend/PR-858/OTP-13058'</title>
<updated>2016-05-09T12:58:26+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-05-09T12:58:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=387e94f0a7796869486cf3160f2d124b1e216a21'/>
<id>387e94f0a7796869486cf3160f2d124b1e216a21</id>
<content type='text'>
* dgud/mnesia/ext-backend/PR-858/OTP-13058:
  mnesia_ext: Add basic backend extension tests
  mnesia_ext: reuse snmp field for ext updates
  mnesia_ext: Create table/data containers from mnesia monitor not temporary processes
  mnesia_ext: Implement ext copies index
  mnesia_ext: Load table ext
  mnesia_ext: Dumper and schema changes
  mnesia_ext: Refactor mnesia_schema.erl
  mnesia_ext: Ext support in fragmented tables
  mnesia_ext: Backup handling
  mnesia_ext: Create schema functionality
  mnesia_ext: Add ext copies and db_fold to low level api
  mnesia_ext: Refactor record_validation code
  mnesia_ext: Add create_external and increase protocol version to monitor
  mnesia_ext: Add ext copies to records
  mnesia_ext: Add supervisor and behaviour modules
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dgud/mnesia/ext-backend/PR-858/OTP-13058:
  mnesia_ext: Add basic backend extension tests
  mnesia_ext: reuse snmp field for ext updates
  mnesia_ext: Create table/data containers from mnesia monitor not temporary processes
  mnesia_ext: Implement ext copies index
  mnesia_ext: Load table ext
  mnesia_ext: Dumper and schema changes
  mnesia_ext: Refactor mnesia_schema.erl
  mnesia_ext: Ext support in fragmented tables
  mnesia_ext: Backup handling
  mnesia_ext: Create schema functionality
  mnesia_ext: Add ext copies and db_fold to low level api
  mnesia_ext: Refactor record_validation code
  mnesia_ext: Add create_external and increase protocol version to monitor
  mnesia_ext: Add ext copies to records
  mnesia_ext: Add supervisor and behaviour modules
</pre>
</div>
</content>
</entry>
<entry>
<title>mnesia_ext: Add basic backend extension tests</title>
<updated>2016-05-09T12:55:59+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-01-18T11:50:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=e24275f3844e53366cdc2068b3c334f49d4ee081'/>
<id>e24275f3844e53366cdc2068b3c334f49d4ee081</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mnesia_ext: Implement ext copies index</title>
<updated>2016-05-09T12:54:36+00:00</updated>
<author>
<name>Ulf Wiger</name>
<email>ulf.wiger@klarna.com</email>
</author>
<published>2015-11-05T14:09:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3aff6476811a385cf45817d6974b83a6b0345a92'/>
<id>3aff6476811a385cf45817d6974b83a6b0345a92</id>
<content type='text'>
Make ram_copies index always use ordered_set

And use index type as prefered type not a implementation requirement,
the standard implmentation will currently ignore the prefered type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make ram_copies index always use ordered_set

And use index type as prefered type not a implementation requirement,
the standard implmentation will currently ignore the prefered type.
</pre>
</div>
</content>
</entry>
<entry>
<title>mnesia: add debug printouts</title>
<updated>2016-04-22T07:22:08+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-03-18T09:25:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=45f39ac829f6708b330f3ada8a133281a6853ff5'/>
<id>45f39ac829f6708b330f3ada8a133281a6853ff5</id>
<content type='text'>
and increase some timeouts for very slow machines (arm)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and increase some timeouts for very slow machines (arm)
</pre>
</div>
</content>
</entry>
<entry>
<title>update copyright-year</title>
<updated>2016-03-15T14:19:56+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2016-03-15T14:19:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6664eed554974336909d3ffe03f20349cc4c38fd'/>
<id>6664eed554974336909d3ffe03f20349cc4c38fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2016-02-12T07:43:05+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-02-12T07:43:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=cf99bf2de73be06e0f0d597dc72e3d7df1ed5f90'/>
<id>cf99bf2de73be06e0f0d597dc72e3d7df1ed5f90</id>
<content type='text'>
* maint:
  mnesia: let loader check if tablelock is needed
  mnesia: Avoid deadlock possibility in mnesia:del_table_copy schema
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  mnesia: let loader check if tablelock is needed
  mnesia: Avoid deadlock possibility in mnesia:del_table_copy schema
</pre>
</div>
</content>
</entry>
<entry>
<title>mnesia: Avoid deadlock possibility in mnesia:del_table_copy schema</title>
<updated>2016-02-05T11:37:36+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-02-03T14:22:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6233c5db89867fae35f69bd7b8ef94b32cec605d'/>
<id>6233c5db89867fae35f69bd7b8ef94b32cec605d</id>
<content type='text'>
del_table_copy grabs a write lock in a new process in prepare_op/3 to
change 'where_to_read' when a table copy is updated.

When del_table_copy(schema, Node) is called all copies located on Node
are deleted, and thus many locks are taken. Since this was done outside
of the schema-transaction, mnesia's deadlock prevention algorithms
was sidestepped and a deadlock could occur.

Fix by always grabbing write-locks for all changed tabs early and in the same
transaction, this might slow done the operation some but it must be done
and it also cleans up the code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
del_table_copy grabs a write lock in a new process in prepare_op/3 to
change 'where_to_read' when a table copy is updated.

When del_table_copy(schema, Node) is called all copies located on Node
are deleted, and thus many locks are taken. Since this was done outside
of the schema-transaction, mnesia's deadlock prevention algorithms
was sidestepped and a deadlock could occur.

Fix by always grabbing write-locks for all changed tabs early and in the same
transaction, this might slow done the operation some but it must be done
and it also cleans up the code.
</pre>
</div>
</content>
</entry>
<entry>
<title>mnesia tests: Replace 'random' with 'rand'</title>
<updated>2015-12-14T14:44:42+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2015-12-11T13:30:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a16ad650d3f9cca03dbc1cf542e9f1ca7dd0a7e3'/>
<id>a16ad650d3f9cca03dbc1cf542e9f1ca7dd0a7e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
