List:Cluster« Previous MessageNext Message »
From:Tomas Ulin Date:November 3 2004 6:30pm
Subject:Re: Converting to cluster: Error 42000: Row size too large
View as plain text  
What version are you running?

We had a bug in an include file where the limit on tuple size was set to 
low.  The real limit is 8k per tuple (not including blobs) and this is a 
hard limit (this limit is by mistake set to 4k on pre 4.1.8 releases). 
See new page I just announced. 
http://dev.mysql.com/doc/mysql/en/MySQL_Cluster_Limitations_in_4.1.html

The only workarounds for this limit is either introduce blobs if you 
can, or split the tables.

T

Alex Davies wrote:

>Hi Everyone,
>
>I have just set up a simple cluster (part of what  hope will be a
>larger cluster later on) and it all seemed to be working.
>
>However, I have a very large table that I can not change and when I
>try to import it I get this error:
>
>"Row size too large. The maximum row size for the used table type, not
>counting BLOBs, is 4092. You have to change some columns to TEXT or
>BLOBs"
>
>I don't really want to change the fields to TEXT or BLOB (it works
>fine as it is and it would be a big job to change it all!). I have
>seen posts on the internet refering to these parts of config.ini:
>
>[NDBD]
>MaxNoOfOrderedIndexes = 27000
>MaxNoOfTables = 9000
>MaxNoOfAttributes = 25000
>
>I also have the following bits in my config.ini under [NDBD]:
>id = 25
>HostName= <IP address of storage server (remote machine)>
>DataDir= /var/lib/mysql-cluster
>
>However, when I try to import a big table I get the error above.
>
>Is there any attribute I can change to allow me to upload big tables?
>The structure of the table is attached below.
>
>With many thanks,
>
>Alex Davies (alex -at- davz.net)
>
>CREATE TABLE `EstablishmentDetails` (
>  `RecordID` int(11) NOT NULL default '0',
>  `Nr` varchar(10) default NULL,
>  `List` tinyint(1) NOT NULL default '0',
>  `DateEntered` datetime default NULL,
>  `DateModified` datetime default NULL,
>  `EstType` int(11) NOT NULL default '0',
>  `EstType2` int(11) default NULL,
>  `Esttype3` int(11) default NULL,
>  `AttractionType` int(11) default NULL,
>  `AttractionType2` int(11) default NULL,
>  `AttractionType3` int(11) default NULL,
>  `Name` varchar(255) default NULL,
>  `Address1` varchar(50) default NULL,
>  `Address2` varchar(50) default NULL,
>  `Address3` varchar(50) default NULL,
>  `Address4` varchar(50) default NULL,
>  `Town` varchar(50) default NULL,
>  `Postcode` varchar(50) default NULL,
>  `County` int(11) NOT NULL default '0',
>  `CountryID` int(11) default NULL,
>  `nearCounty` int(11) default NULL,
>  `nearCounty2` int(11) default NULL,
>  `nearCounty3` int(11) default NULL,
>  `PCode` varchar(50) default NULL,
>  `nearPC` varchar(50) default NULL,
>  `nearPC2` varchar(50) default NULL,
>  `nearPC3` varchar(50) default NULL,
>  `NearbyTowns` text,
>  `nearTown1` varchar(50) default NULL,
>  `nearTown2` varchar(50) default NULL,
>  `nearTown3` varchar(50) default NULL,
>  `nearTowns456` text,
>  `nearAttract1` varchar(50) default NULL,
>  `nearAttract2` varchar(50) default NULL,
>  `nearAttract3456` text,
>  `nearStay1` varchar(50) default NULL,
>  `nearStay2` varchar(50) default NULL,
>  `nearStay3` varchar(50) default NULL,
>  `nearStayID1` int(11) default NULL,
>  `nearStayID2` int(11) default NULL,
>  `linkAttract1` varchar(50) default NULL,
>  `linkAttract2` varchar(50) default NULL,
>  `linkAttractID1` int(11) default NULL,
>  `linkAttractID2` int(11) default NULL,
>  `AltCountryID` int(11) default NULL,
>  `Tel` varchar(100) default NULL,
>  `Fax` varchar(100) default NULL,
>  `Email` text,
>  `Location` int(11) default NULL,
>  `Location2` int(11) default NULL,
>  `Location3` int(11) default NULL,
>  `Region` int(11) default NULL,
>  `FamousPlaces` int(11) default NULL,
>  `TouristArea` int(11) default NULL,
>  `Website` text,
>  `Enquiries` tinyint(1) default NULL,
>  `Description` text,
>  `Affiliations` text,
>  `Trains` varchar(100) default NULL,
>  `Awards` text,
>  `Rooms` varchar(50) default NULL,
>  `Ensuite` varchar(50) default NULL,
>  `PriceIncludes` varchar(100) default NULL,
>  `PerPerson` tinyint(1) default NULL,
>  `PerRoom` tinyint(1) default NULL,
>  `RoomPrice` tinyint(1) default NULL,
>  `DPrice` varchar(100) default NULL,
>  `DComments` text,
>  `SPrice` varchar(100) default NULL,
>  `SComments` text,
>  `TPrice` varchar(100) default NULL,
>  `TComments` text,
>  `SuitePrice` varchar(100) default NULL,
>  `SuiteComments` text,
>  `FourPoster` varchar(50) default NULL,
>  `SpaBath` varchar(50) default NULL,
>  `NoRestaurant` tinyint(1) default NULL,
>  `RestaurantName` varchar(150) default NULL,
>  `RestaurantCuisine` text,
>  `Chef` varchar(50) default NULL,
>  `RestaurantAwards` text,
>  `NoDetails` tinyint(1) default NULL,
>  `NoFacilities` tinyint(1) default NULL,
>  `FacilitiesNoDetails` tinyint(1) default NULL,
>  `CarHire` tinyint(1) default NULL,
>  `CarHireNum` varchar(50) default NULL,
>  `Parking` tinyint(1) default NULL,
>  `ParkingComments` varchar(50) default NULL,
>  `CCAccept` tinyint(1) default NULL,
>  `CCComments` varchar(50) default NULL,
>  `RoomService` tinyint(1) default NULL,
>  `RoomServiceComments` varchar(50) default NULL,
>  `Disabled` tinyint(1) default NULL,
>  `DisabledComments` varchar(50) default NULL,
>  `Gym` tinyint(1) default NULL,
>  `GymComments` text,
>  `TennisCourt` tinyint(1) default NULL,
>  `TennisComments` varchar(50) default NULL,
>  `Pool` tinyint(1) default NULL,
>  `PoolComments` varchar(50) default NULL,
>  `TVRooms` tinyint(1) default NULL,
>  `TVComments` varchar(50) default NULL,
>  `Satellite` tinyint(1) default NULL,
>  `SatelliteComments` varchar(50) default NULL,
>  `MiniBar` tinyint(1) default NULL,
>  `MiniBarComments` varchar(50) default NULL,
>  `NPorter` tinyint(1) default NULL,
>  `NPorterComments` varchar(50) default NULL,
>  `Conf` tinyint(1) default NULL,
>  `ConfComments` varchar(150) default NULL,
>  `Historic` tinyint(1) default NULL,
>  `HistoricComments` varchar(50) default NULL,
>  `Children` tinyint(1) default NULL,
>  `ChildrenComments` varchar(50) default NULL,
>  `EveningMeal` tinyint(1) default NULL,
>  `EveningMealComments` varchar(50) default NULL,
>  `Licensed` tinyint(1) default NULL,
>  `LicensedComments` varchar(50) default NULL,
>  `Diets` tinyint(1) default NULL,
>  `DietsComments` varchar(50) default NULL,
>  `Tea` tinyint(1) default NULL,
>  `TeaComments` varchar(50) default NULL,
>  `NoSmoking` tinyint(1) default NULL,
>  `NoSmokingComments` varchar(50) default NULL,
>  `AllYear` tinyint(1) default NULL,
>  `AllYearComments` varchar(50) default NULL,
>  `TouristBoard` tinyint(1) default NULL,
>  `TouristBoardComments` varchar(50) default NULL,
>  `Listed` tinyint(1) default NULL,
>  `ListedComments` varchar(50) default NULL,
>  `Garden` tinyint(1) default NULL,
>  `GardenComments` varchar(50) default NULL,
>  `TBMember` tinyint(1) default NULL,
>  `TBMembersComments` varchar(50) default NULL,
>  `Airport` varchar(50) default NULL,
>  `Units` varchar(50) default NULL,
>  `UnitType` varchar(100) default NULL,
>  `PriceGuide` varchar(150) default NULL,
>  `Times` text,
>  `Pub` tinyint(1) default NULL,
>  `PubComments` varchar(50) default NULL,
>  `Pets` tinyint(1) default NULL,
>  `PetsComments` varchar(50) default NULL,
>  `SDisabled` tinyint(1) default NULL,
>  `SDisabledComments` varchar(50) default NULL,
>  `Shop` tinyint(1) default NULL,
>  `ShopComments` varchar(50) default NULL,
>  `Gas` tinyint(1) default NULL,
>  `GasComments` varchar(50) default NULL,
>  `Heating` tinyint(1) default NULL,
>  `HeatingComments` varchar(50) default NULL,
>  `Linen` tinyint(1) default NULL,
>  `LinenComments` varchar(50) default NULL,
>  `Washing` tinyint(1) default NULL,
>  `WashingComments` varchar(100) default NULL,
>  `Telephone` tinyint(1) default NULL,
>  `TelephoneComments` varchar(50) default NULL,
>  `Service` tinyint(1) default NULL,
>  `ServiceComments` varchar(50) default NULL,
>  `Weekend` tinyint(1) default NULL,
>  `WeekendComments` varchar(100) default NULL,
>  `Gardens` tinyint(1) default NULL,
>  `GardensComments` varchar(50) default NULL,
>  `Sporting` tinyint(1) default NULL,
>  `SportingComments` varchar(50) default NULL,
>  `Majortown` varchar(50) default NULL,
>  `MinutesToTown` varchar(50) default NULL,
>  `LocationDetails` text,
>  `TouristInfo` varchar(100) default NULL,
>  `Months` text,
>  `Groups` tinyint(1) default NULL,
>  `GroupsComments` varchar(50) default NULL,
>  `GroupDiscount` tinyint(1) default NULL,
>  `GDiscountComments` varchar(100) default NULL,
>  `CoachParking` tinyint(1) default NULL,
>  `CoachComments` text,
>  `CarParking` tinyint(1) default NULL,
>  `CarParkingComments` varchar(50) default NULL,
>  `Weddings` tinyint(1) default NULL,
>  `WeddingsComments` varchar(50) default NULL,
>  `Conferences` tinyint(1) default NULL,
>  `ConferencesComments` varchar(100) default NULL,
>  `Contact` text,
>  `Price` text,
>  `GiftShop` tinyint(1) default NULL,
>  `GiftShopComments` varchar(50) default NULL,
>  `Catering` text,
>  `County2` int(11) default NULL,
>  `Famous2` int(11) default NULL,
>  `EstTypeAlt` int(11) default NULL,
>  `Extras` int(11) default NULL,
>  `Extras2` int(11) default NULL,
>  PRIMARY KEY  (`RecordID`)
>) TYPE=MyISAM;
>
>NB I would change the last line to be for inserting into the cluster engine:
>
>) ENGINE=ndbcluster;
>
>  
>

Thread
Converting to cluster: Error 42000: Row size too largeAlex Davies3 Nov
  • Re: Converting to cluster: Error 42000: Row size too largeTomas Ulin3 Nov