List:Commits« Previous MessageNext Message »
From:lzhou Date:October 12 2007 3:32pm
Subject:bk commit into 5.1 tree (lzhou:1.2552) BUG#29186
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of zhl. When zhl does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-10-12 13:32:08+00:00, lzhou@dev3-63.(none) +4 -0
  BUG#29186 Return error to client in the following condition:
            1: Create a log file which is larger than 4G in 32-bit host.
            2: Create a data file (tablespace) which is larger than 4G in 32-bit host.

  storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp@stripped, 2007-10-12
13:32:01+00:00, lzhou@dev3-63.(none) +2 -1
    Add error code for log file too large

  storage/ndb/src/kernel/blocks/lgman.cpp@stripped, 2007-10-12 13:32:01+00:00,
lzhou@dev3-63.(none) +15 -0
    Return REF when log file more than 4G in 32-bits host

  storage/ndb/src/kernel/blocks/tsman.cpp@stripped, 2007-10-12 13:32:01+00:00,
lzhou@dev3-63.(none) +15 -0
    return FER when data file larger than 4G in 32-bits host

  storage/ndb/src/ndbapi/ndberror.c@stripped, 2007-10-12 13:32:01+00:00, lzhou@dev3-63.(none)
+1 -0
    Add describe of new errorCode

diff -Nrup a/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
b/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
--- a/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp	2006-12-23 19:33:29
+00:00
+++ b/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp	2007-10-12 13:32:01
+00:00
@@ -163,7 +163,8 @@ struct CreateFileImplRef {
     InvalidFileMetadata = 1510,
     OutOfMemory = 1511,
     FileReadError = 1512,
-    FilegroupNotOnline = 1513
+    FilegroupNotOnline = 1513,
+    FileSizeTooLarge = 1515
   };
   
   Uint32 senderData;
diff -Nrup a/storage/ndb/src/kernel/blocks/lgman.cpp
b/storage/ndb/src/kernel/blocks/lgman.cpp
--- a/storage/ndb/src/kernel/blocks/lgman.cpp	2007-07-03 12:12:24 +00:00
+++ b/storage/ndb/src/kernel/blocks/lgman.cpp	2007-10-12 13:32:01 +00:00
@@ -547,6 +547,21 @@ Lgman::execCREATE_FILE_REQ(Signal* signa
       break;
     }
     
+    if(sizeof(void*) == 4 && req->file_size_hi & 0xFFFFFFFF)
+    {
+      jam();
+      if(signal->getNoOfSections())
+        releaseSections(signal);
+
+      CreateFileImplRef* ref= (CreateFileImplRef*)signal->getDataPtr();
+      ref->senderData = senderData;
+      ref->senderRef = reference();
+      ref->errorCode = CreateFileImplRef::FileSizeTooLarge;
+      sendSignal(senderRef, GSN_CREATE_FILE_REF, signal,
+                 CreateFileImplRef::SignalLength, JBB);
+      return;
+    }
+
     new (file_ptr.p) Undofile(req, ptr.i);
 
     Local_undofile_list tmp(m_file_pool, ptr.p->m_meta_files);
diff -Nrup a/storage/ndb/src/kernel/blocks/tsman.cpp
b/storage/ndb/src/kernel/blocks/tsman.cpp
--- a/storage/ndb/src/kernel/blocks/tsman.cpp	2007-05-15 07:08:13 +00:00
+++ b/storage/ndb/src/kernel/blocks/tsman.cpp	2007-10-12 13:32:01 +00:00
@@ -523,6 +523,21 @@ Tsman::execCREATE_FILE_REQ(Signal* signa
       break;
     }
     
+    if(sizeof(void*) == 4 && req->file_size_hi & 0xFFFFFFFF)
+    {
+      jam();
+      if(signal->getNoOfSections())
+        releaseSections(signal);
+
+      CreateFileImplRef* ref= (CreateFileImplRef*)signal->getDataPtr();
+      ref->senderData = senderData;
+      ref->senderRef = reference();
+      ref->errorCode = CreateFileImplRef::FileSizeTooLarge;
+      sendSignal(senderRef, GSN_CREATE_FILE_REF, signal,
+                 CreateFileImplRef::SignalLength, JBB);
+      return;
+    }
+ 
     new (file_ptr.p) Datafile(req);
     Local_datafile_list tmp(m_file_pool, ptr.p->m_meta_files);
     tmp.add(file_ptr);
diff -Nrup a/storage/ndb/src/ndbapi/ndberror.c b/storage/ndb/src/ndbapi/ndberror.c
--- a/storage/ndb/src/ndbapi/ndberror.c	2007-09-07 09:15:04 +00:00
+++ b/storage/ndb/src/ndbapi/ndberror.c	2007-10-12 13:32:01 +00:00
@@ -426,6 +426,7 @@ ErrorBundle ErrorCodes[] = {
   { 1512, DMEC, SE, "File read error" },
   { 1513, DMEC, IE, "Filegroup not online" },
   { 1514, DMEC, SE, "Currently there is a limit of one logfile group" },
+  { 1515, DMEC, SE, "Currently there is a 4G limit of one logfile in 32-bit host" },
   
   { 773,  DMEC, SE, "Out of string memory, please modify StringMemory config parameter"
},
   { 775,  DMEC, SE, "Create file is not supported when Diskless=1" },
Thread
bk commit into 5.1 tree (lzhou:1.2552) BUG#29186lzhou12 Oct
  • Re: bk commit into 5.1 tree (lzhou:1.2552) BUG#29186Jonas Oreland12 Oct