Bug 415127 - DataSet "Row Fetch Size" property is ignored at the design time. It causes OutOfMemoryError on Oracle JDBC data sources.
Summary: DataSet "Row Fetch Size" property is ignored at the design time. It causes Ou...
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 4.3.0   Edit
Hardware: PC Windows 7
: P3 blocker with 3 votes (vote)
Target Milestone: ---   Edit
Assignee: Birt-Data-inbox@eclipse.org CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-15 04:01 EDT by vlad dev CLA
Modified: 2014-04-08 09:08 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vlad dev CLA 2013-08-15 04:01:38 EDT
The DataSet's "Row Fetch Size" property is ignored at the design time. It leads to OutOfMemoryError when trying to create a new DataSet or to edit an existing one.

Steps to reproduce:
- you need an Oracle database (I have tested it with Oracle 11.2)
- create a new table in the Oracle database:
  CREATE TABLE TMP_BIRT (test_string  VARCHAR2(4000), test_number NUMBER);
- start Eclipse with -Xmx512m option (in eclipse.ini file)
- create a new BIRT report
- create a new JDBC datasource connected to the Oracle database
- create a new DataSet of type "SQL Select Query"
- enter the following value in the "Query Text" (the question mark is important!):

select 
  test_number,
  test_string,
  test_string value1,
  test_string value2,
  test_string value3,
  test_string value4,
  test_string value5,
  test_string value6,
  test_string value7,
  test_string value8,
  test_string value9,
  test_string value10,
  test_string value11,
  test_string value12,
  test_string value13,
  test_string value14,
  test_string value15,
  test_string value16,
  test_string value17,
  test_string value18,
  test_string value19,
  test_string value20,
  test_string value21,
  test_string value22,
  test_string value23,
  test_string value24,
  test_string value25,
  test_string value26,
  test_string value27,
  test_string value28,
  test_string value29,
  test_string value30,
  test_string value31,
  test_string value32,
  test_string value33,
  test_string value34,
  test_string value35,
  test_string value36,
  test_string value37,
  test_string value38,
  test_string value39,
  test_string value40,
  test_string value41,
  test_string value42,
  test_string value43,
  test_string value44,
  test_string value45,
  test_string value46,
  test_string value47,
  test_string value48,
  test_string value49,
  test_string value50
from <your-schema>.TMP_BIRT
where test_number >= ?
- adjust the database schema in the query
- click Finish
- add an input parameter with default value "0" on the "Parameters" tab
- enter value "10" in the "Row Fetch Size" Field on the "Property Binding" tab
- press "OK" to apply the settings and you should get OutOfMemoryError

The problem has been already described in one of the comments of https://bugs.eclipse.org/bugs/show_bug.cgi?id=407299, but it seems to be lost between other comments. That is why I have created a separate issue for this concrete problem in the Report Designer. Furthermore I could reproduce the problem with BIRT 4.3.0.

Setting "Row Fetch Size" to a value less than default 10000 doesn't prevent OutOfMemoryError in the Report Designer.

Let me know if I can do anything to help with resolving this issue.

P.S. There is a recent issue that also reports a problem caused by using hard-coded constant values: https://bugs.eclipse.org/bugs/show_bug.cgi?id=413607. May be a similar approach could be applied to solve both issues in a similar consistent way.