Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007806opensim[GRID] Asset Servicepublic2016-01-12 20:192016-01-14 18:02
ReporterTomTheDragon 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Statuspatch includedResolutionopen 
PlatformMonoOSLinux amd64OS Version3.2.0
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007806: Filesystem asset store not implemented in PostgreSQL
DescriptionThe filesystem asset store is not implemented in PostgreSQL. This would be much more scalable than storing all the assets as blobs in the database. I have attached a patch with an initial FSAssets impelementation, based directly from the MySQL implementation.
TagsNo tags attached.
Git Revision or version number22501ea06d987664951e453beaeb0146ff81c3c6
Run Mode Grid (Multiple Regions per Sim)
Physics EngineBulletSim
EnvironmentMono / Linux64
Mono VersionOther
ViewerSingularity Viewer 1.8.6
Attached Filespatch file icon 0001-Working-Filesystem-Asset-Store-for-PGSQL.patch [^] (14,744 bytes) 2016-01-14 17:31 [Show Content]

- Relationships

-  Notes
(0029963)
TomTheDragon (reporter)
2016-01-13 17:01

I have updated the FSAssetStore patch to use the UUID column type. I have also removed the character length restriction on name and description, for future-proofing. I'm not certain this is a good idea, but it is the same under the hood.
(0029964)
TomTheDragon (reporter)
2016-01-13 19:55

Might as well set to TEXT. Here's a log for when I ran it with VARCHAR(64):

22:48:08 - [PGSQL FSASSETS]: Failed to store asset with ID 9393da3f-63d9-41f1-a5c7-3fbdec98b70e
22:48:08 - Npgsql.NpgsqlException:
value too long for type character varying(64)
Severity: ERROR
Code: 22001
  at Npgsql.NpgsqlState+<ProcessBackendResponses_Ver_3>d__a.MoveNext () <0xb3a3e000 + 0x0109b> in <filename unknown>:0
  at Npgsql.ForwardsOnlyDataReader.GetNextResponseObject () <0xb3a433a0 + 0x00471> in <filename unknown>:0
22:48:09 - [PGSQL FSASSETS]: Failed to store asset with ID 64f7132f-79da-4a39-85d0-9cabe180f0f6
22:48:09 - Npgsql.NpgsqlException:
value too long for type character varying(64)
Severity: ERROR
Code: 22001
  at Npgsql.NpgsqlState+<ProcessBackendResponses_Ver_3>d__a.MoveNext () <0xb3a3e000 + 0x0109b> in <filename unknown>:0
  at Npgsql.ForwardsOnlyDataReader.GetNextResponseObject () <0xb3a433a0 + 0x00471> in <filename unknown>:0
(0029966)
TomTheDragon (reporter)
2016-01-14 18:02

I have switched from using CHAR(80) to CHAR(64) to match the SHA512 hash size. This eliminates a bug where the hash would be returned with the trailing whitespace, and saves some space which adds up. Also for saving space, I've removed the name and description fields altogether, which don't even get used.

- Issue History
Date Modified Username Field Change
2016-01-12 20:19 TomTheDragon New Issue
2016-01-12 20:19 TomTheDragon File Added: 0006-Add-filesystem-asset-store-implementation-for-PGSQL.patch
2016-01-12 20:20 TomTheDragon Status new => patch included
2016-01-13 16:55 TomTheDragon File Deleted: 0006-Add-filesystem-asset-store-implementation-for-PGSQL.patch
2016-01-13 16:55 TomTheDragon File Added: 0001-Add-a-FSAssetStore-implementation-to-PGSQL.patch
2016-01-13 17:01 TomTheDragon Note Added: 0029963
2016-01-13 19:55 TomTheDragon Note Added: 0029964
2016-01-14 17:31 TomTheDragon File Deleted: 0001-Add-a-FSAssetStore-implementation-to-PGSQL.patch
2016-01-14 17:31 TomTheDragon File Added: 0001-Working-Filesystem-Asset-Store-for-PGSQL.patch
2016-01-14 18:02 TomTheDragon Note Added: 0029966


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker